C++ 如何在QTreeWidget中选择项目?
我正在尝试创建一个功能,如果未选择任何项目,该功能将选择C++ 如何在QTreeWidget中选择项目?,c++,qt,qtreewidget,C++,Qt,Qtreewidget,我正在尝试创建一个功能,如果未选择任何项目,该功能将选择QTreeView中的最后一个项目。我不知道如何在程序中选择项目。到目前为止,我已经试过了,但不起作用 if (selectedItemList.length() == 0) // no items selected { QItemSelectionModel *selection = new QItemSelectionModel(treeWidget->model()); QModelInd
QTreeView
中的最后一个项目。我不知道如何在程序中选择项目。到目前为止,我已经试过了,但不起作用
if (selectedItemList.length() == 0) // no items selected
{
QItemSelectionModel *selection = new QItemSelectionModel(treeWidget->model());
QModelIndex index = treeWidget->model()->index(treeWidget->model()->rowCount() - 1,
0, QModelIndex());
selection->select(index, QItemSelectionModel::Select);
treeWidget->setSelectionModel(selection);
return;
}
treeWidget
是一个QTreeWidget
对象,selectedItemList
是其中所选项目的列表。非常感谢您的帮助。您可以直接使用这些项目与所选内容交互
if (treeWidget->selectedItems().size() == 0 && treeWidget->topLevelItemCount())
{
treeWidget->topLevelItem(treeWidget->topLevelItemCount() - 1)->setSelected(true);
}
QList<QTreeWidgetItem*> selectedItemList = tree->selectedItems();
if (selectedItemList.length() == 0) // no items selected
{
tree->topLevelItem(tree->topLevelItemCount()-1)->setSelected(true);
}
QList selectedItemList=tree->selectedItems();
if(selectedItemList.length()=0)//未选择任何项目
{
tree->topLevelItem(tree->topLevelItemCount()-1)->setSelected(true);
}
选择了setItemSelected
方法,因此不鼓励使用该方法。可直接使用项目进行选择。未使用此选项选择项目。我认为QTreeView的工作原理是这样的,即在某个项目上的焦点丢失后,默认情况下树中的最后一个项目处于焦点状态,但不能确定它是否处于可见状态。