zoukankan      html  css  js  c++  java
  • 读Pyqt4教程,带你入门Pyqt4 _002

    在这节教程中,我们将创建菜单和工具栏。

    QMainWindow 类提供应用程序主窗口,可以创建一个经典的拥有状态栏、工具栏和菜单栏的应用程序骨架。

    菜单栏

    菜单栏是GUI应用程序最明显的部分之一,这是分布在各个菜单的命令组合,在控制台程序中你需要记住所有那些晦涩难懂的命令,有了这些公认的标准,将进一步缩短学习新应用程序的时间。

    #!/usr/bin/python
    
    # menubar.py
    
    import sys
    from PyQt4 import QtGui, QtCore
    
    class MainWindow(QtGui.QMainWindow):
        def __init__(self):
            QtGui.QMainWindow.__init__(self)
    
            self.resize(250, 150)
            self.setWindowTitle('menubar')
    
            exit = QtGui.QAction(QtGui.QIcon('icons/exit.png'), 'Exit', self)
            exit.setShortcut('Ctrl+Q')
            exit.setStatusTip('Exit application')
            self.connect(exit, QtCore.SIGNAL('triggered()'), QtCore.SLOT('close()'))
    
            self.statusBar()
    
            menubar = self.menuBar()
            file = menubar.addMenu('&File')
            file.addAction(exit)
    
    app = QtGui.QApplication(sys.argv)
    main = MainWindow()
    main.show()
    sys.exit(app.exec_())
    menubar = self.menuBar()
    file = menubar.addMenu('&File')
    file.addAction(exit)

    首先我们使用``QMainWindow`` 类的 menuBar() 方法创建一个菜单栏,然后使用 addMenu() 方法增加一个菜单项,最后我们插入 Action 对象到文件菜单。

    菜单栏(Mac OS X)

    菜单栏(Ubuntu)

    工具栏

    菜单集合了应用程序中所有可用的命令,工具栏提供了快速访问最常用的命令功能。

    #!/usr/bin/python
    
    # toolbar.py
    
    import sys
    from PyQt4 import QtGui, QtCore
    
    class MainWindow(QtGui.QMainWindow):
        def __init__(self):
            QtGui.QMainWindow.__init__(self)
    
            self.resize(250, 150)
            self.setWindowTitle('toolbar')
    
            self.exit = QtGui.QAction(QtGui.QIcon('icons/exit.png'), 'Exit', self)
            self.exit.setShortcut('Ctrl+Q')
            self.connect(self.exit, QtCore.SIGNAL('triggered()'), QtCore.SLOT('close()'))
    
            self.toolbar = self.addToolBar('Exit')
            self.toolbar.addAction(self.exit)
    
    
    app = QtGui.QApplication(sys.argv)
    main = MainWindow()
    main.show()
    sys.exit(app.exec_())
    self.exit = QtGui.QAction(QtGui.QIcon('icons/exit.png'), 'Exit', self)
    self.exit.setShortcut('Ctrl+Q')

    GUI程序通过命令来控制,这些命令可以通过菜单、上下文菜单、工具栏或者快捷键来启动。PyQt引入了行为(Action)来简化开发。行为对象可以拥有菜单标题、图标、快捷键、状态栏内容、aasda“这是什么?”内容以及提示。在我们的例子中,我们定义了一个行为对象,包括图标、提示和快捷键。

    self.connect(self.exit, QtCore.SIGNAL('triggered()'), QtCore.SLOT('close()'))

    这里我们连接行为的 triggered() 信号到预定义的 close() 槽。

    self.toolbar = self.addToolBar('Exit')
    self.toolbar.addAction(self.exit)

    这里我们我们创建了一个工具栏并把行为加了进去。

    工具栏

    放在一起

    在这部分的最后一个例子中,我们将会创建一个菜单栏、工具栏和状态栏。

    #!/usr/bin/python
    
    # mainwindow.py
    
    import sys
    from PyQt4 import QtGui, QtCore
    
    class MainWindow(QtGui.QMainWindow):
        def __init__(self):
            QtGui.QMainWindow.__init__(self)
    
            self.resize(350, 250)
            self.setWindowTitle('mainwindow')
    
            textEdit = QtGui.QTextEdit()
            self.setCentralWidget(textEdit)
    
            exit = QtGui.QAction(QtGui.QIcon('icons/exit.png'), 'Exit', self)
            exit.setShortcut('Ctrl+Q')
            exit.setStatusTip('Exit application')
            self.connect(exit, QtCore.SIGNAL('triggered()'), QtCore.SLOT('close()'))
    
            self.statusBar()
    
            menubar = self.menuBar()
            file = menubar.addMenu('&File')
            file.addAction(exit)
    
            toolbar = self.addToolBar('Exit')
            toolbar.addAction(exit)
    
    
    app = QtGui.QApplication(sys.argv)
    main = MainWindow()
    main.show()
    sys.exit(app.exec_())
    textEdit = QtGui.QTextEdit()
    self.setCentralWidget(textEdit)

    这里我们创建了一个文本编辑控件,把它设置成 QMainWinow 的中心组件。中心组件将会占据所有留下的空间。

    QMainWindow(Ubuntu)

    在PyQt4教程的这部分,我们创建了菜单和工具栏。

     

     

    本站文章为 宝宝巴士 SD.Team 原创,转载务必在明显处注明:(作者官方网站: 宝宝巴士 
    转载自【宝宝巴士SuperDo团队】 原文链接: http://www.cnblogs.com/superdo/p/4526702.html

     

     

  • 相关阅读:
    3. 尾缀
    Cocos工程命名规则整理(node部分)
    3.1-3.3 HBase Shell创建表
    2.11-2.12 HBase的数据迁移常见方式
    2.8-2.10 HBase集成MapReduce
    2.7 HBase架构深入剖析
    2.3-2.6 HBase java API
    2.1-2.2 HBase数据存储
    1.6-1.8 HBase表的物理模型
    1.4-1.5 HBase部署及基本使用
  • 原文地址:https://www.cnblogs.com/superdo/p/4526702.html
Copyright © 2011-2022 走看看