spinBox = QtGui.QSpinBox(parent)
Exemple: x=155, y=65, largeur=76, hauteur=26
spinBox.setGeometry(QtCore.QRect(155, 65, 76, 26))
Exemple pour une taille de 12 points:
font = QtGui.QFont() font.setPointSize(12) spinBox.setFont(font)
Exemple pour nombre mini = 1 et nombre maxi = 999
spinBox.setMinimum(1) spinBox.setMaximum(999)
Pour trouver les nombres mini et maxi du spinbox:
nombremini = spinBox.minimum() nombremaxi = spinBox.maximum()
Exemple: afficher 55
spinBox.setValue(55)
Si le nombre à afficher est inférieur au nombre mini du spinbox, c'est le nombre mini qui s'affiche.
Si le nombre à afficher est supérieur au nombre maxi du spinbox, c'est le nombre maxi qui s'affiche.
nombre = spinBox.value()
Exemple en jaune:
spinBox.setStyleSheet("background-color: yellow")
spinBox.setAccelerated(True)
Pour activer:
spinBox.setEnabled(True)
Pour désactiver:
spinBox.setEnabled(False)
Pour savoir si le spinbox est activé ou non
etat = spinBox.isEnabled()
Définir la connexion entre le spinbox et la méthode de traitement de l'évènement (ici, change)
QtCore.QObject.connect(spinBox, QtCore.SIGNAL('valueChanged(int)'), change)
def change(nouveaunombre): ... # traitement de l'évènement ...
#!/usr/bin/python # -*- coding: utf-8 -*- from __future__ import division import sys from PyQt4 import QtCore, QtGui class Fenetre(QtGui.QWidget): def __init__(self, parent=None): super(Fenetre, self).__init__(parent) self.setWindowTitle("Code test") # créer le spinbox self.spinBox = QtGui.QSpinBox(self) # initialiser le spinBox self.spinBox.setMinimum(5) self.spinBox.setMaximum(90) self.spinBox.setValue(55) self.spinBox.setStyleSheet("background-color: yellow") # faire que chaque modification du spinBox exécute la méthode 'change' QtCore.QObject.connect(self.spinBox, QtCore.SIGNAL('valueChanged(int)'), self.change) # création d'une ligne d'édition self.lineEdit = QtGui.QLineEdit(self) # positionnement des widgets dans la fenêtre posit = QtGui.QGridLayout() posit.addWidget(self.spinBox, 0, 1) posit.addWidget(self.lineEdit, 1, 0, 1, 3) self.setLayout(posit) def change(self, nb): """méthode exécutée à chaque changement des radioboutons""" self.lineEdit.setText(u"%d" % (nb)) if __name__ == "__main__": app = QtGui.QApplication(sys.argv) QtGui.QApplication.setStyle(QtGui.QStyleFactory.create('plastique')) fen = Fenetre() fen.show() sys.exit(app.exec_())