QTableView中在每一个细胞不需要的复选框
-
25-09-2019 - |
题
我刚开始使用Qt编程,而我试图让使用了模型类我自己的创作从QTableView
继承的QAbstractTableModel
控制一个简单的表格数据的布局。出于某种原因,我的表视图端部看起来像这样:
结果
<子>(来源: nerdland.net )子>
在什么的挫折感是那些东西,看起来像复选框(但不要做任何事情,当我点击他们)在每一个细胞,以及如何让他们离开?我没有改变任何QTableView
属性除了对象的名称。
如果它很重要,我的模型代码是死的简单:
MyTableModel::MyTableModel(QObject* parent)
: QAbstractTableModel(parent)
{
}
MyTableModel::~MyTableModel()
{
}
int MyTableModel::rowCount(const QModelIndex& parent) const
{
return 1000;
}
int MyTableModel::columnCount(const QModelIndex& parent) const
{
return 5;
}
QVariant MyTableModel::data(const QModelIndex& index, int role) const
{
return "Foo";
}
在对话框UI内置在Qt设计,并且类的对话内附上模型到视图这样的:
MyTableModel testModel = new MyTableModel(this);
ui.testTable->setModel(testModel);
除此之外,我上ui.testTable
不执行操作。
使用Qt 4.6。
解决方案
尝试改变MyTableModel::data()
以下内容:
QVariant MyTableModel::data(const QModelIndex& index, int role) const
{
if (role == Qt::DisplayRole)
return "foo";
else
return QVariant();
}
可能返回的QVariant为角色Qt::CheckStateRole
是由QTableView中误解。
其他提示
任何机会你碰巧设置的Qt :: ItemIsUserCheckable 一>在标志()标志?
不隶属于 StackOverflow