Pergunta

Eu tenho uma caixa de listagem que você pode selecionar usuários. Para a esquerda de que é um combobox listando os grupos disponíveis, o usuário pode ser colocá-lo. Se o usuário estiver em um grupo, a caixa de combinação será automaticamente definida para esse grupo. Eu quero fazê-lo assim quando você alterar a seleção de grupo, ele irá mover o usuário a esse grupo. Eu adicionei essa conexão:

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

O problema é que desde que eu vou estar selecionando diferentes usuários em diferentes grupos, cada vez que selecionar um novo usuário, a opção padrão nas mudanças combobox e Qt registra isso como sinal de um 'currentIndexChanged'.

Não parece haver nenhuma maneira de disparar apenas o sinal no user-interação direta com o widget em si. Que métodos posso usar para contornar este?

Foi útil?

Solução

Pegar um sinal do QComboBox ( activated(int index) ), e atualizar o usuário selecionado com base nisso. Em você função Handler, não faça nada se o índice selecionado no combobox é o mesmo que o grupo o usuário selecionado está dentro.

Talvez mover o combobox para a direita da caixa de listagem de usuário, como sua ordem de ações serão Select User -.> Selecionar grupo

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top