QTreeView设置默认以某一列排序
时间: 2023-07-01 08:10:19 浏览: 86
可以使用`QTreeView`的`sortByColumn()`函数来设置默认以某一列排序。例如,如果要默认以第二列排序,可以在初始化`QTreeView`时调用该函数:
```
treeView->sortByColumn(1, Qt::AscendingOrder);
```
其中第一个参数是要排序的列的索引(从0开始),第二个参数是排序方式(升序或降序)。这将在显示`QTreeView`时默认按照第二列升序排序。
相关问题
c++ qt Qtreeview QStandardItem 打开某一节点
要打开 QTreeView 中的某一节点,可以使用 QStandardItemModel 和 QStandardItem 类。首先,使用 QStandardItemModel 创建一个模型,并将其设置为 QTreeView 的模型。然后,使用 QStandardItem 类创建一个项,并将其添加到模型中。最后,使用 QTreeView 的 setCurrentIndex() 方法设置要打开的节点。
下面是一个示例代码,假设要打开第二个节点:
```cpp
QStandardItemModel *model = new QStandardItemModel();
ui->treeView->setModel(model);
QStandardItem *rootItem = model->invisibleRootItem();
QStandardItem *secondItem = new QStandardItem("Second Item");
rootItem->appendRow(secondItem);
QModelIndex index = model->indexFromItem(secondItem);
ui->treeView->setCurrentIndex(index);
```
这将在 QTreeView 中打开名为“Second Item”的节点。
QT QTreeView怎么去掉列中的默认1
在 `QTreeView` 中,列中默认的数字“1”是由 `QHeaderView` 中的 `sectionNumbersVisible` 属性控制的。可以通过将其设置为 `False` 来隐藏它们,从而去掉列中的默认数字。
你可以在创建 `QTreeView` 实例后使用以下代码来隐藏列中的默认数字:
```python
tree_view = QTreeView()
tree_view.header().setSectionResizeMode(QHeaderView.Stretch)
tree_view.header().setSectionsClickable(True)
tree_view.header().setSectionNumbersVisible(False)
```
通过上述代码,使 `sectionNumbersVisible` 属性为 `False`,从而去掉列中的默认数字。