[英]QTreeWidget; Disabling ui Features when multiple Items are selected in QTree
我是一名学生程序员,我正在使用Qt为工作构建GUI,我遇到了各种各样的问题。 在我的主界面中,我有一个保存数据的QTreeWidget。 同样在这个GUI中,我有按钮编辑,复制和删除,它们已经透视地连接到功能。 我希望在选择多个项目时禁用编辑按钮。 这是我遇到问题的地方。 我认为最好的方法(再次我是学生)将是某种类型的连接语句,但我一直在查看这个小部件的Qt文档,并且无法找到任何看起来正确的东西。 我希望有更多经验的人能够为此提供一些方向。
我想知道我是否应该/可以使用
void QTreeWidget::itemSelectionChanged () [signal]
如果我可以使用这个信号,请说清楚,因为我在这里打空了,因为我不知道从哪里开始将它与被选中的多个项目联系起来。
我不认为你只能在QtDesigner中做到这一点,如果那是你想要做的。 您可以定义自己的插槽来处理itemSelectionChanged信号。 在该插槽中,您可以使用QTreeWidget的selectedItems方法来检查所选项目的数量,并根据该项目启用/禁用按钮。
是的,这是正确的信号。 例如,这里是您问题的插槽的简单实现:
void disableItems() {
QList<QTreeWidgetItem*> selection = treeWidget->selectedItems();
if(selection.size() > 1) {
//disable the gui items here
} else {
//maybe reenable items otherwise
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.