diff options
Diffstat (limited to 'doc/src/diagrams/programs/mdiarea.py')
-rw-r--r-- | doc/src/diagrams/programs/mdiarea.py | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/doc/src/diagrams/programs/mdiarea.py b/doc/src/diagrams/programs/mdiarea.py new file mode 100644 index 0000000..c78659f --- /dev/null +++ b/doc/src/diagrams/programs/mdiarea.py @@ -0,0 +1,71 @@ +#!/usr/bin/env python + +import sys +from PyQt4.QtCore import SIGNAL +from PyQt4.QtGui import QApplication, QColor, QIcon, QLabel, QMdiArea, QPixmap, \ + QPushButton, QTableWidget, QTableWidgetItem, QTextEdit + + +class Changer: + + def __init__(self, mdiArea): + + self.mdiArea = mdiArea + self.state = 0 + + def change(self): + + if self.state == 0: + self.mdiArea.cascadeSubWindows() + self.mdiArea.setWindowTitle("Cascade") + elif self.state == 1: + self.mdiArea.tileSubWindows() + self.mdiArea.setWindowTitle("Tile") + self.state = (self.state + 1) % 2 + + +if __name__ == "__main__": + + app = QApplication(sys.argv) + pixmap = QPixmap(16, 16) + pixmap.fill(QColor(0, 0, 0, 0)) + icon = QIcon(pixmap) + app.setWindowIcon(icon) + + mdiArea = QMdiArea() + + textEdit = QTextEdit() + textEdit.setPlainText("Qt Quarterly is a paper-based newsletter " + "exclusively available to Qt customers. Every " + "quarter we mail out an issue that we hope will " + "bring added insight and pleasure to your Qt " + "programming, with high-quality technical articles " + "written by Qt experts.") + textWindow = mdiArea.addSubWindow(textEdit) + textWindow.setWindowTitle("A Text Editor") + + label = QLabel() + label.setPixmap(QPixmap("../../images/qt-logo.png")) + labelWindow = mdiArea.addSubWindow(label) + labelWindow.setWindowTitle("A Label") + + items = (("Henry", 23), ("Bill", 56), ("Susan", 19), ("Jane", 47)) + table = QTableWidget(len(items), 2) + + for i in range(len(items)): + name, age = items[i] + item = QTableWidgetItem(name) + table.setItem(i, 0, item) + item = QTableWidgetItem(str(age)) + table.setItem(i, 1, item) + + tableWindow = mdiArea.addSubWindow(table) + tableWindow.setWindowTitle("A Table Widget") + + mdiArea.show() + + changer = Changer(mdiArea) + button = QPushButton("Cascade") + button.connect(button, SIGNAL("clicked()"), changer.change) + button.show() + sys.exit(app.exec_()) |