~ubuntu-branches/ubuntu/trusty/appmenu-qt/trusty

« back to all changes in this revision

Viewing changes to tests/multimenubars.py

  • Committer: Package Import Robot
  • Author(s): Aurélien Gâteau
  • Date: 2012-04-05 17:23:55 UTC
  • mfrom: (1.1.4)
  • Revision ID: package-import@ubuntu.com-20120405172355-8x9gvyia3cyzeac8
Tags: 0.2.6-0ubuntu1
* New upstream release
  - fix handling of windows with multiple menubars (LP: #937892).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/env python
 
2
import sys
 
3
 
 
4
from PyQt4.QtCore import *
 
5
from PyQt4.QtGui import *
 
6
 
 
7
 
 
8
class Window(QMainWindow):
 
9
    def __init__(self):
 
10
        super(Window, self).__init__()
 
11
        self.createMenu(self.menuBar(), "File", "New", "Open", "Quit")
 
12
        self.createMenu(self.menuBar(), "Help", "About")
 
13
 
 
14
        centralWidget = QWidget()
 
15
        self.setCentralWidget(centralWidget)
 
16
 
 
17
        layout = QVBoxLayout(centralWidget)
 
18
        layout.addWidget(self.createEditWidget())
 
19
        layout.addWidget(self.createEditWidget())
 
20
        layout.addWidget(self.createEditWidget())
 
21
 
 
22
    def createEditWidget(self):
 
23
        widget = QWidget()
 
24
        menuBar = QMenuBar(widget)
 
25
        self.createMenu(menuBar, "Edit", "Cut", "Copy", "Paste")
 
26
        edit = QTextEdit()
 
27
        layout = QVBoxLayout(widget)
 
28
        layout.addWidget(menuBar)
 
29
        layout.addWidget(edit)
 
30
        return widget
 
31
 
 
32
    def createMenu(self, menuBar, name, *items):
 
33
        menu = menuBar.addMenu(name)
 
34
        for item in items:
 
35
            menu.addAction(item)
 
36
 
 
37
def main():
 
38
    app = QApplication(sys.argv)
 
39
    window = Window()
 
40
 
 
41
    window.show()
 
42
    app.exec_()
 
43
    return 0
 
44
 
 
45
if __name__ == "__main__":
 
46
    sys.exit(main())
 
47
# vi: ts=4 sw=4 et