QStandardItemModel怎么设置列名称
时间: 2024-03-08 09:47:20 浏览: 27
可以使用QStandardItemModel的setHeaderData方法来设置列名称。
以下是示例代码:
```
QStandardItemModel *model = new QStandardItemModel();
model->setColumnCount(3);
model->setHeaderData(0, Qt::Horizontal, "Column 1");
model->setHeaderData(1, Qt::Horizontal, "Column 2");
model->setHeaderData(2, Qt::Horizontal, "Column 3");
ui->treeView->setModel(model);
```
这样就可以设置列名称了。在上面的示例中,我们设置了三个列,并分别设置了它们的列名称为"Column 1"、"Column 2"和"Column 3"。
相关问题
qsqlquerymodel添加一列checkbox选择框
要在 QSQLQueryModel 中添加一个包含 checkbox 的列,您需要使用 QTableView 和 QStandardItemModel 代替 QSQLQueryModel。以下是一个简单的示例:
```python
from PyQt5.QtWidgets import QApplication, QTableView, QStandardItemModel, QHeaderView
from PyQt5.QtCore import Qt
# 创建 QStandardItemModel
model = QStandardItemModel()
# 添加列
model.setColumnCount(2)
model.setHeaderData(0, Qt.Horizontal, "Name")
model.setHeaderData(1, Qt.Horizontal, "Selected")
# 添加行
for i in range(5):
item = QStandardItem("Item {}".format(i))
item.setCheckable(True)
model.setItem(i, 0, item)
# 创建 QTableView
view = QTableView()
view.setModel(model)
# 调整列宽
view.horizontalHeader().setSectionResizeMode(0, QHeaderView.Stretch)
view.horizontalHeader().setSectionResizeMode(1, QHeaderView.ResizeToContents)
# 显示窗口
app = QApplication([])
view.show()
app.exec_()
```
在这个示例中,我们创建了一个 QStandardItemModel,并添加了两列:一个包含名称,另一个包含 checkbox。我们使用 setCheckable() 方法将每个项目设置为可选中。
然后,我们创建了一个 QTableView,并将 QStandardItemModel 设置为其模型。我们还调整了列宽,以便第一列填充剩余空间,第二列根据内容自动调整大小。
最后,我们显示了 QTableView 并运行了应用程序。
qt tableview设置复选框
要在Qt的TableView中设置复选框,可以使用QTableView和QStandardItemModel结合使用。以下是一个简单的示例程序:
```
#include <QApplication>
#include <QStandardItemModel>
#include <QTableView>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QStandardItemModel model(4, 2);
model.setHeaderData(0, Qt::Horizontal, QObject::tr("Name"));
model.setHeaderData(1, Qt::Horizontal, QObject::tr("Selected"));
for (int row = 0; row < 4; ++row) {
QStandardItem *nameItem = new QStandardItem(QString("Item %0").arg(row));
model.setItem(row, 0, nameItem);
QStandardItem *selectedItem = new QStandardItem();
selectedItem->setCheckable(true);
model.setItem(row, 1, selectedItem);
}
QTableView tableView;
tableView.setModel(&model);
tableView.show();
return a.exec();
}
```
在这个示例程序中,我们创建了一个QStandardItemModel对象,它有4行2列的表格,并设置了表头。然后,我们使用一个循环来设置每个项目的名称和复选框。在复选框项目中,我们调用setCheckable(true)方法来启用复选框。最后,我们将模型设置为QTableView的模型,并显示它。
运行这个程序,你将会看到一个TableView,其中包含了一个名为“Name”的列和一个名为“Selected”的列,每一行都有一个复选框,你可以选择或取消选择它们。