2017-09-13 5 views
0

J'ai un QComboBox et quand j'INITIALISER la fenêtre principale, je mets la première valeur à l'aide:Pourquoi doser QCombo Box fonctionne-t-il?

self.events.insertItem(0,'No Events') 

Il ressemble maintenant à ceci:

enter image description here

Je veux effacer et repeupler la boîte plusieurs fois si j'utilise:

window.events.clear() 

Et puis:

window.events.insertItem(0,'Some Events') 

Avant d'ajouter mes événements.

Maintenant, il ressemble à ceci:

enter image description here

Et si je choisis la boîte:

enter image description here

Pourquoi est "Certains événements" non écrit sur la première ligne comme « Non Les événements "était?

Comment obtenir "Quelques événements" écrits sur la ligne du haut comme "Aucun événement" était?

Répondre

1

La définition de l'élément actuel dans la zone de liste déroulante doit résoudre ce problème.

window.events.setCurrentIndex(0) 
+0

Parfois ça marche, parfois c'est pas ... bizarre.Je continue à cliquer sur un "bouton de repeuplement" et parfois ça marche, parfois non. –

+0

Comment faites-vous la compensation? Habituellement, il apparaît vide lorsque 'currentIndex' est' -1'. Vous pouvez confirmer ce que 'currentIndex' est en imprimant à la console' print (window.events.currentIndex()). 'Comment les événements sont-ils ajoutés? Mon intuition est qu'il y a une condition de course en cours lorsque vous effacez et quand ajouter des événements. –

+0

Ajout d'événements à l'aide de window.events.insetsItem (index, chaîne) –