1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
| #!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
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)
# Attributs de l'application
self.argv=argv
# Widget principale
self.__mainWid=QMainWindow()
self.__mainWid.setCentralWidget(QWidget(self.__mainWid))
self.__mainWid.statusBar()
# Titre
self.__mainWid.setWindowTitle("Test qtreewidget")
# Version
self.__mainWid.statusBar().showMessage(
"Qt v%s, PyQt v%s" % (
QT_VERSION_STR,
PYQT_VERSION_STR,
)
)
# Un espace de rangement général
mainLayout=QHBoxLayout(self.__mainWid.centralWidget())
# La zone d'items et son scroll
self.__tabItem=[]
self.__treeItem=QTreeWidget()
# La zone des boutons
layoutBtn=QVBoxLayout()
# Les boutons + et -
self.__add=QPushButton("+")
self.connect(self.__add, SIGNAL("clicked()"), self.__addItem)
self.__sub=QPushButton("-")
self.__sub.setEnabled(False)
self.connect(self.__sub, SIGNAL("clicked()"), self.__subItem)
for i in range(10): self.__addItem()
# Pour quitter
quit=QPushButton()
quit.setText("Quitter")
self.connect(quit, SIGNAL("clicked()"), self.__mainWid, SLOT("close()"))
# Rangement des boutons
layoutBtn.addWidget(self.__add)
layoutBtn.addWidget(self.__sub)
layoutBtn.addWidget(quit)
# Rangement général
mainLayout.addWidget(self.__treeItem)
mainLayout.addLayout(layoutBtn)
# __init__()
# Ajout d'élément
def __addItem(self):
print "add %d" % len(self.__tabItem)
self.__tabItem.append(QTreeWidgetItem(QStringList(QString("Hello %d" % len(self.__tabItem)))))
self.__treeItem.addTopLevelItem(self.__tabItem[-1])
self.__sub.setEnabled(True)
# __addItem
# Suppression d'élément
def __subItem(self):
print "sub %d" % len(self.__tabItem)
self.__treeItem.removeItemWidget(self.__tabItem[-1], 0)
del self.__tabItem[-1]
if len(self.__tabItem) == 0: self.__sub.setDisabled(True)
# __subItem
# Affichage et lancement application
def run(self):
self.__mainWid.show()
self.exec_()
# run()
# class QtAppli
Appli=QtAppli(sys.argv)
Appli.run() |
Partager