我需要帮助自定义QTableView
,我已经定义了一个QTableView
作为此示例节目,我在互联网上找到了:
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
{{1}方法,我的意思是,当你点击重命名文件时,它突出显示文本,以便你可以修改,我该如何禁用它?
如何使列可调整大小,这意味着可以通过拖动列的边缘来调整大小。
答案 0 :(得分:1)
首先:在setColumnWidth()
之后使用setModel()
方法。例如:
//...
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);
来自你的代码。