#!/usr/bin/python
# coding: Latin-1 -*-
import sys
from qt import *
class QtAppli(QApplication):
"Fenêtre de l'application"
# Constructeur fenêtre
def __init__(self,
argv):
# Appel constructeur de l'objet hértié
QApplication.__init__(self, argv)
# Attributs de l'application
self.argv=argv
# Widget principale
self.wid=QMainWindow()
self.setMainWidget(self.wid)
self.wid.setCentralWidget(QWidget(self.wid))
self.wid.statusBar()
# Titre
self.wid.setCaption("toto" )
# Un espace de rangement
box=QVBoxLayout(self.wid.centralWidget())
lab1=QLabel(self.wid.centralWidget())
lab1.setText("Central" )
box.addWidget(lab1)
# Le ressort
spacer=QSpacerItem(0, 0, QSizePolicy.Minimum, QSizePolicy.Expanding)
box.addItem(spacer)
# Une sous-fenêtre perso rangée dans l'espace de rangement vertical
sub1=QtFrame(self.wid.centralWidget())
box.addWidget(sub1)
# Une autre sous-fenêtre perso rangée dans l'espace de rangement vertical
sub2=QtFrame(self.wid.centralWidget())
box.addWidget(sub2)
# Affichage et lancement application
def run(self):
self.wid.show()
self.exec_loop()
class QtFrame(QFrame):
"Sous-Fenêtre de test"
# Constructeur fenêtre
def __init__(self,
Widget):
# Appel constructeur de l'objet hértié
QFrame.__init__(self, Widget)
# Un espace de rangement horizontal
box=QHBoxLayout(self)
# Un sous-label rangé dans la sous-fenêtre horizontale
lab1=QLabel(self)
lab1.setText("Moi" )
box.addWidget(lab1)
# Le ressort
spacer=QSpacerItem(0, 0, QSizePolicy.Expanding, QSizePolicy.Minimum)
box.addItem(spacer)
# Un bouton rangé dans la sous-fenêtre horizontale
lab2=QPushButton(self)
lab2.setText("Bouton" )
box.addWidget(lab2)
self.connect(lab2, SIGNAL("clicked()" ), self.slotBtn)
def slotBtn(self):
print "clicked"
Appli=QtAppli(sys.argv)
Appli.run() |