我需要自定义 QTableView
方面的帮助,我已经定义了一个 QTableView
,如本示例所示,这是我在 Internet 上找到的:
model = new QStandardItemModel(2,3,this); //2 Rows and 3 Columns
model->setHorizontalHeaderItem(0, new QStandardItem(QString("ID")));
model->setHorizontalHeaderItem(1, new QStandardItem(QString("Name")));
model->setHorizontalHeaderItem(2, new QStandardItem(QString("Description")));
ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
ui->tableView->setModel(model);
如何分别为每一列定义大小,即使用百分比:
我会得到第一列宽度的 10%,第二列宽度的 50%,第三列宽度的 40%。当我运行程序并双击
QTableView
中的一行时,我可以更改单击的单元格的值,尽管我已经定义了一个QTableView
onDoubleclick
方法,我的意思是当你点击重命名文件时它突出显示文本以便你可以修改,我如何禁用它?如何使列可调整大小,即可以通过拖动列边缘来调整大小。
最佳答案
首先:在setModel()
之后使用setColumnWidth()
方法。例如:
//...
ui->tableView->setModel(model);
double ii = ui->tableView->columnWidth(0);
ui->tableView->setColumnWidth(1,0.4*ii);
ui->tableView->setColumnWidth(2,0.5*ii);
第三:为此删除
ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
来自您的代码。
关于c++ - QTableview 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25830675/