码迷,mamicode.com
首页 > 其他好文 > 详细

读Pyqt4教程,带你入门Pyqt4 _002

时间:2015-05-24 23:32:27      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:

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

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

 

 

读Pyqt4教程,带你入门Pyqt4 _002

标签:

原文地址:http://www.cnblogs.com/superdo/p/4526702.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!