Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Apr 30th, 2012  |  syntax: Python  |  size: 1.48 KB  |  hits: 25  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. import sys
  2. from PySide.QtCore import *
  3. from PySide.QtGui import *
  4.  
  5. class TestApp(QMainWindow):
  6.     """
  7.    Test aplikasi yang memuat 2 MDI subwindow.
  8.    """
  9.     def __init__(self, parent=None):
  10.         super(TestApp, self).__init__(parent)
  11.         self.setWindowTitle('Test')
  12.         mdi = QMdiArea();
  13.         self.setCentralWidget(mdi)
  14.         # MDI 1 (text edit)
  15.         textEdit = TextEditMDIWindow()
  16.         textEdit.setWindowTitle('Hello!')
  17.         mdi.addSubWindow(textEdit)
  18.         # MDI 2 (label + button)
  19.         window = LabelButtonMDIWindow()
  20.         mdi.addSubWindow(window)
  21.  
  22.  
  23. class TextEditMDIWindow(QTextEdit):
  24.     """
  25.    Contoh MDI subwindow buat text edit.
  26.    Bisa di simpan di file/package lain.
  27.    """
  28.     pass
  29.  
  30.  
  31. class LabelButtonMDIWindow(QWidget):
  32.     """
  33.    Contoh MDI subwindow buat tampilin label dan button.
  34.    Bisa di simpan di file/package lain.
  35.    """
  36.     def __init__(self, parent=None):
  37.         super(LabelButtonMDIWindow, self).__init__(parent)
  38.         self.label = QLabel('Hello, world!')
  39.         self.button = QPushButton('Click me!')
  40.         self.button.clicked.connect(self.test)
  41.         layout = QHBoxLayout()
  42.         layout.addWidget(self.label)
  43.         layout.addWidget(self.button)
  44.         self.setLayout(layout)        
  45.  
  46.     def test(self):
  47.         self.label.setText('foobar!')
  48.  
  49.        
  50. if __name__ == '__main__':
  51.     app = QApplication(sys.argv)
  52.     testApp = TestApp()
  53.     testApp.show()
  54.     sys.exit(app.exec_())