Deelvensters stapelen of tegelen

Op deze pagina:

    Als je een venster wilt onderverdelen in deelvensters, dan kan je QMdiArea hiervoor gebruiken. je kan de deelvenster stapelen of tegelen. De ddelvensters kan een gebruiker beetpakken met de muis en verplaatsen of van grootte veranderen.

    
    #!/usr/bin/python3
    # -*- coding: utf-8 -*-
    
    '''
    Stapelen of tegelen
    '''
    
    import sys
    from PyQt5.QtWidgets import QMainWindow, QMdiArea, QAction, QMdiSubWindow, QTextEdit, QApplication
    
    class MainWindow(QMainWindow):
        aantal = 0
    
        def __init__(self, parent = None):
            super(MainWindow, self).__init__(parent)
            self.mdi = QMdiArea()
            self.setCentralWidget(self.mdi)
            bar = self.menuBar()
    		
            file = bar.addMenu("Vensters")
            file.addAction("Nieuw") # nieuw deelvenster
            file.addAction("Stapelen") # deelvensters stapelen
            file.addAction("Tegelen") # deelvensters tegelen
            file.triggered[QAction].connect(self.windowaction)
            self.setWindowTitle("Stapelen of tegelen")
    		
        def windowaction(self, q):
            if q.text() == "&Nieuw":
                MainWindow.aantal = MainWindow.aantal+1
                sub = QMdiSubWindow()
                sub.setWidget(QTextEdit())
                sub.setWindowTitle("subvenster "+str(MainWindow.aantal))
                self.mdi.addSubWindow(sub)
                sub.show()
    		
            if q.text() == "&Stapelen":
                self.mdi.cascadeSubWindows()
    		
            if q.text() == "&Tegelen":
                self.mdi.tileSubWindows()
    		
    def main():
        app = QApplication(sys.argv)
        window = MainWindow()
        window.show()
        sys.exit(app.exec_())
    	
    if __name__ == '__main__':
        main()
    

    stapelen

    tegelen

     

    Verwante artikelen