我是一名学生程序员,正在使用Qt构建工作用的​​GUI,但遇到了一些问题。在我的主界面中,我有一个保存数据的QTreeWidget。同样在此GUI中,我还具有“编辑”,“复制”和“删除”按钮,这些按钮已透视连接到功能。我希望在选择多个项目时禁用编辑按钮。这是我遇到问题的地方。我认为执行此操作的最佳方法(再次是一名学生)将是某种类型的connect语句,但是我一直在通过the Qt Documentation for this widget进行查找,但找不到适合此操作的任何内容。我希望有经验的人能够为此提供一些指导。

我想知道是否应该/可以使用

void QTreeWidget::itemSelectionChanged () [signal]


如果我可以使用此信号,请说明一下,因为我在这里空白,因为我不知道从哪里开始将其与所选的多个项目相关联。

最佳答案

是的,这是正确的信号。例如,这是您问题的广告位的简单实现:

void disableItems() {

    QList<QTreeWidgetItem*> selection = treeWidget->selectedItems();
    if(selection.size() > 1) {

        //disable the gui items here

    } else {

        //maybe reenable items otherwise
    }
}

关于c++ - QTreeWidget;在QTree中选择多个项目时禁用ui功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9072393/

10-15 13:42