#!/usr/bin/env python
# coding: UTF-8 -*-
import sys
try:
from PyQt4.QtCore import *
from PyQt4.QtGui import *
except:
import time
for i in range(10):
print "PyQt non installé - A vérifier (%d/10)" % (i + 1)
time.sleep(5)
sys.exit(1)
class QtAppli(QApplication):
"Fenêtre de l'application"
# Constructeur fenêtre
def __init__(self,
argv):
# Message de contrôle
print "QtAppli (qt v%s, pyqt_v%s)" % (QT_VERSION_STR, PYQT_VERSION_STR)
# Appel constructeur de l'objet hértié
QApplication.__init__(self, argv)
# Widget principale
self.__mainWid=QMainWindow()
self.__mainWid.setCentralWidget(QWidget(self.__mainWid))
self.__mainWid.statusBar()
# Titre
self.__mainWid.setWindowTitle(
QString.fromUtf8("Vérification Qt (v%s)" % QT_VERSION_STR)
)
# Un espace de rangement
mainLayout=QVBoxLayout(self.__mainWid.centralWidget())
# Le bouton
btn=QPushButton(
QString.fromUtf8("Surtout ne pas cliquer là !!!" )
)
self.connect(btn, SIGNAL("clicked()" ), self.slotAction)
mainLayout.addWidget(btn)
# Le bouton version
ver=QPushButton(
QString.fromUtf8("A propos de Qt" )
)
self.connect(ver, SIGNAL("clicked()" ), self.slotQt)
mainLayout.addWidget(ver)
# Pour quitter
quit=QPushButton(
QString.fromUtf8("Quitter" )
)
self.connect(quit, SIGNAL("clicked()" ), self.__mainWid, SLOT("close()" ))
mainLayout.addWidget(quit)
# __init__()
# Affichage et lancement application
def run(self):
self.__mainWid.show()
self.exec_()
# run()
# Slot qui affiche une fenêtre avec un texte
def slotAction(self):
print "test"
dial=QDialog(self.__mainWid.centralWidget())
dial.setModal(True)
dial.setWindowTitle(
QString.fromUtf8("Félicitations, Qt fonctionne parfaitement !!!" )
)
mainLayout=QVBoxLayout(dial)
lab=QLabel(
QString.fromUtf8("<center><font size='+5'>C'était écrit <u><font color='red'>SURTOUT</font></u> ne pas cliquer !!!</font></center>" )
)
mainLayout.addWidget(lab)
btn=QPushButton(
QString.fromUtf8("Félicitations, Qt fonctionne parfaitement !!!" )
)
btn.connect(btn, SIGNAL("clicked()" ), dial, SLOT("close()" ))
mainLayout.addWidget(btn)
dial.show()
# slotAction()
# Slot qui affiche la version de Qt
def slotQt(self):
print "qt"
# Fenêtre "A propos de Qt"
QMessageBox.aboutQt(
self.__mainWid,
"à propos de Qt...",
)
# slotQt()
# class QtAppli
Appli=QtAppli(sys.argv)
Appli.run()