3

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

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

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

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

4

1 回答 1

5

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

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

于 2009-04-27T19:16:20.193 回答