我在自己的对话框的构造函数中调用下列代码,可以正确显示
但如果将注释的两行代码放开,显示就为空了,请问是哪里出得问题?
( //SpinBoxDelegate delegate;
//m_table->setItemDelegate(&delegate); )
SpinBoxDelegate为qtDemo中的例子,照抄的
// 初始化
// : m_table(new QTableView),
// m_model(new QStandardItemModel(4, 2))
QStringList list;
list.append(tr("X"));
list.append(tr("Y"));
m_model->setHorizontalHeaderLabels(list);
m_table->setModel(m_model);
//SpinBoxDelegate delegate;
//m_table->setItemDelegate(&delegate);
m_table->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
m_table->setAutoFillBackground(true);
m_table->setAlternatingRowColors(true);
m_table->setVerticalScrollMode(QAbstractItemView::ScrollPerItem);
m_table->setHorizontalScrollMode(QAbstractItemView::ScrollPerItem);
m_table->setObjectName(QString::fromUtf8("m_table"));
m_table->setAutoFillBackground(true);
m_table->setFrameShape(QFrame::NoFrame);
m_table->setFrameShadow(QFrame::Plain);
m_table->setLineWidth(0);
m_table->setEditTriggers(QAbstractItemView::AllEditTriggers);
m_table->setAlternatingRowColors(true);
m_table->setVerticalScrollMode(QAbstractItemView::ScrollPerItem);
m_table->setHorizontalScrollMode(QAbstractItemView::ScrollPerItem);
m_table->setGridStyle(Qt::SolidLine);
m_table->horizontalHeader()->setVisible(true);
m_table->verticalHeader()->setVisible(false);
for (int i = 0; i < 2; i++)
{
QModelIndex index = m_table->model()->index(i, 0, QModelIndex());
m_table->model()->setData(index, QVariant(11+i));
index = m_table->model()->index(i, 1, QModelIndex());
m_table->model()->setData(index, QVariant(22+i));
}
m_table->show();