#include "xsteam_view.h" xsteam_view::xsteam_view(QTableView *parent) : QTableView(parent) { } xsteam_view::~xsteam_view() { } void xsteam_view::item_clear() { m_model->removeRows(0, m_model->rowCount()); } void xsteam_view::init_view(VIEW_MODE view_mode) { m_model = new QStandardItemModel(); if (view_mode == VIEW_MODE::UID_INFO) { m_model->setColumnCount(ex_uid_table_head_tips.count()); m_model->setHorizontalHeaderLabels(ex_uid_table_head_tips); setItemDelegate(new xsteam_view_item()); } else if (view_mode == VIEW_MODE::ALL_DLC_INFO) { m_model->setColumnCount(ex_all_dlc_table_head_tips.count()); m_model->setHorizontalHeaderLabels(ex_all_dlc_table_head_tips); } else if (view_mode == VIEW_MODE::IN_DLC_INFO) { m_model->setColumnCount(ex_in_dlc_table_head_tips.count()); m_model->setHorizontalHeaderLabels(ex_in_dlc_table_head_tips); } horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); setSelectionBehavior(QAbstractItemView::SelectRows); setEditTriggers(QAbstractItemView::NoEditTriggers); verticalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); // 自动设置行高 verticalHeader()->hide(); setModel(m_model); } void xsteam_view::item_append(UidData& data, VIEW_MODE mode) { QList rows; std::vector dlc_uid; if (mode == VIEW_MODE::UID_INFO) { rows.push_back(new QStandardItem(QString::fromStdString(data.ico))); rows.push_back(new QStandardItem(QString::fromStdString(data.uid))); rows.push_back(new QStandardItem(QString::fromStdString(data.name))); rows.push_back(new QStandardItem(QString::fromStdString(data.m_time))); rows.push_back(new QStandardItem(QString::fromStdString(data.i_time))); for (auto row : rows) { row->setTextAlignment(Qt::AlignCenter); } m_model->appendRow(rows); } else { item_clear(); if (mode == VIEW_MODE::ALL_DLC_INFO) { dlc_uid = data.r_dlc; } else if (mode == VIEW_MODE::IN_DLC_INFO) { dlc_uid = data.n_dlc; } for (auto x : dlc_uid) { rows.clear(); rows.push_back(new QStandardItem(QString::fromStdString(x))); m_model->appendRow(rows); } } }