Qt TableView去除奇怪的方框
Qt TableView remove strange boxes
我想使用 QTableView。这是一些测试的结果。
如您所见,在内容“123”之前的每个单元格中都有一些框。这些框是什么,我该如何删除它们?
我想我需要更改QTableView 的一些属性,但我没有找到与这些神秘框相关的属性。
这是我使用的一些代码:
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow)
{
//...
TVLDataModel* model = new TVLDataModel();
ui->uxTVLView->setModel(model);
}
TVLDataModel(继承QAbstractTableModel)
int TVLDataModel::rowCount(const QModelIndex &parent) const
{
return 2;
}
int TVLDataModel::columnCount(const QModelIndex &parent) const
{
return 2;
}
QVariant TVLDataModel::data(const QModelIndex &index, int role) const
{
return 123;
}
您应该更改 QVariant TVLDataModel::data(const QModelIndex &index, int role) const
函数以指示您正在使用的角色。例如 Qt::EditRole、Qt::BackgroundRole 等
例如:
QVariant TVLDataModel::data(const QModelIndex &index, int role) const
{
switch(role){
case Qt::EditRole :
case Qt::DisplayRole :
return 123;
default : break;
}
return QVariant();
}
否则,您将为每个 ItemDataRole return 123。
那些 "strange" 框是复选框。您的模型表明每个项目都是可检查的。
我想使用 QTableView。这是一些测试的结果。
如您所见,在内容“123”之前的每个单元格中都有一些框。这些框是什么,我该如何删除它们?
我想我需要更改QTableView 的一些属性,但我没有找到与这些神秘框相关的属性。 这是我使用的一些代码:
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow)
{
//...
TVLDataModel* model = new TVLDataModel();
ui->uxTVLView->setModel(model);
}
TVLDataModel(继承QAbstractTableModel)
int TVLDataModel::rowCount(const QModelIndex &parent) const
{
return 2;
}
int TVLDataModel::columnCount(const QModelIndex &parent) const
{
return 2;
}
QVariant TVLDataModel::data(const QModelIndex &index, int role) const
{
return 123;
}
您应该更改 QVariant TVLDataModel::data(const QModelIndex &index, int role) const
函数以指示您正在使用的角色。例如 Qt::EditRole、Qt::BackgroundRole 等
例如:
QVariant TVLDataModel::data(const QModelIndex &index, int role) const
{
switch(role){
case Qt::EditRole :
case Qt::DisplayRole :
return 123;
default : break;
}
return QVariant();
}
否则,您将为每个 ItemDataRole return 123。
那些 "strange" 框是复选框。您的模型表明每个项目都是可检查的。