PyQt/QComboBox
Apparence
< PyQt
Description
[modifier | modifier le wikicode]Cette classe permet d'afficher une liste d'éléments sous forme de liste déroulante avec, lorsque la
liste n'est pas déroulée, uniquement l'élément sélectionné affiché.
Il est possible de construire un objet permettant l'édition des éléments ou non (l'utilisateur peut
introduire ses propres éléments) en spécifiant un paramètre au constructeur. De plus, un tel objet peut contenir des éléments textuels ou des images (pixmap).
Un objet QComboBox émet deux signaux : activated()
lorsqu'un élément a été sélectionné et highlighted()
lorsqu'un élément est mis en évidence dans la liste.
Constructeur
[modifier | modifier le wikicode]# Constructeurs pour la classe QComboBox
QComboBox ( QWidget parent = None, str name = "" )
QComboBox ( bool rw, QWidget parent = None, str name = "" )
Exemple
[modifier | modifier le wikicode]
PyQt3.* #!/usr/bin/python
# -*- coding : utf-8 -*-
#
# qcombobox.py
# Programme exemple pour la classe QComboBox
from qt import *
import sys
class Demo(QApplication) :
def init (self,args) :
QApplication. init (self, args)
# widget principal, il s'agit d'une fenˆetre de dialogue
self.dialog = QDialog(None, "Dialog")
self.cbox1 = QComboBox(self.dialog, "cbox1")
self.cbox1.insertItem("choix 1")
self.cbox1.insertItem("choix 2")
self.cbox1.insertItem("choix 3")
# l'utilisateur peut entrer son propre texte
self.cbox1.setEditable(True)
# choix par défaut : le troisième ( ! offset by one !)
self.cbox1.setCurrentItem(2)
self.connect(self,SIGNAL("lastWindowClosed()"),self,SLOT("quit()"))
self.dialog.show()
self.exec loop()
if name == "__main__" :
x = Demo(sys.argv)
PyQt4.* #!/usr/bin/python
# -*- coding : utf-8 -*-
#
# qCombobox.py
# Programme exemple pour la classe QComboBox#
from PyQt4.QtGui import *
from PyQt4.QtCore import *
import sys
class Demo(QApplication) :
def __init__(self, args) :
QApplication.__init__(self,args)
# widget principal, il s'agit d'une fenêtre de dialogue
self.dialog = QDialog()
self.dialog.setWindowTitle("Dialog")
self.Combo1=QComboBox()
self.Combo1.setObjectName("Liste 1")
self.Combo2=QComboBox()
self.Combo1.addItem ("choix 1")
self.Combo1.addItem ("choix 2")
self.Combo1.addItem ("choix 3")
self.Combo2.setObjectName("Liste 2")
self.Combo3=QComboBox()
self.Combo3.setObjectName("Liste 3")
# le bouton Combo3 n'est pas modifiable
self.Combo3.setDisabled(True) ;
# espace entre les boutons
self.vbox = QVBoxLayout()
self.vbox.addWidget(self.Combo1)
self.vbox.addWidget(self.Combo2)
self.vbox.addWidget(self.Combo3)
self.vbox.addStretch(1)
self.dialog.setLayout(self.vbox)
self.dialog.show()
self.connect(self,SIGNAL("lastWindowClosed()"),self,SLOT("quit()"))
self.exec_()
if __name__ == "__main__" :
app=Demo(sys.argv)
|