标题:QTabView代理文本的疑问
作者:lwei24
日期:2022-04-28 14:59
内容:
如题,写了一个测试的demo,具体代码如下:
#if _MSC_VER >= 1600
#pragma execution_character_set("utf-8")
#endif
#include "frmmain.h"
#include "itemdelegate.h"
FrmMain::FrmMain(QWidget *parent) :
QMainWindow(parent)
{
this->initUI();
}
void FrmMain::initUI()
{
this->resize(850, 400);
m_tableView = new QTableView(this);
QStandardItemModel* model = new QStandardItemModel();
/* 设置表格标题行(输入数据为QStringList类型) */
model->setHorizontalHeaderLabels({"ID", "文本"});
/* 自适应所有列,让它布满空间 */
m_tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
ItemDelegate* delegate1 = new ItemDelegate;
m_tableView->setItemDelegateForColumn(1, delegate1);
for (int i = 0; i < 10; i++)
{
model->setItem(i, 0, new QStandardItem(QString("%1").arg(i)));/* 加载第一列(ID)数据 */
model->setItem(i, 1, new QStandardItem(QString("User%1").arg(i))); /* 加载第二列(User Name)数据 */
}
/* 设置表格视图数据 */
m_tableView->setModel(model);
this->setCentralWidget(m_tableView);
}
#include "itemdelegate.h"
ItemDelegate::ItemDelegate(QObject *parent)
: QStyledItemDelegate(parent)
{
}
void ItemDelegate::paint(QPainter *painter,const QStyleOptionViewItem &option, const..