python - PyQT 组合框仅对用户交互使用react

标签 python qt qcombobox

我有一个列表框,您可以在其中选择用户。在它的左侧是一个组合框,列出了用户可以放入其中的可用组。如果用户在一个组中,组合框将自动设置为该组。我想这样做,当您更改组选择时,它会将用户移动到该组。我添加了这个连接:

QtCore.QObject.connect(self.GroupsBox, QtCore.SIGNAL("currentIndexChanged(QString)"), self.HandleGrouping)

问题在于,由于我将在不同的组中选择不同的用户,每次我选择一个新用户时,组合框中的默认选项都会发生变化,并且 Qt 将其注册为“currentIndexChanged”信号。

似乎没有办法只在用户与小部件本身直接交互时触发信号。我可以使用哪些方法来解决这个问题?

最佳答案

从 QComboBox ( activated(int index) ) 捕获信号,并根据该信号更新选定的用户。在您的 Handler 函数中,如果组合框中的所选索引与所选用户所在的组相同,则不执行任何操作。

也许将您的组合框移动到用户列表框的右侧,因为您的操作顺序将是选择用户 --> 选择组。

关于python - PyQT 组合框仅对用户交互使用react,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/794813/

相关文章:

python - SciPy稀疏矩阵(COO,CSR): Clear row

python - 如何填充数组中的值才能得到这个?

QTimer 超时信号在不同线程上运行时不调用槽

python - 如何在 PyQt/PySide 中将项目添加到 QComboBox

python - PyQt5 ComboBox - 如何在不影响下拉列表的情况下设置 CurrentText 的颜色?

python - 如何匹配 Python 正则表达式中的开始和结束?

python - Django导入错误: cannot import name 'render_to_response' from 'django.shortcuts'

c++ - "Cannot open source file"现有文件和正确路径错误

c++ - 如何使用 Qt 在 Opencv 2.4.9 中创建工具栏

c++ - QComboBox 不调用委托(delegate)方法