您的位置:首页 > 编程语言 > Qt开发

学习pyqt4 基础 2

2014-08-16 19:35 197 查看

学习pyqt4 基础 2

回顾

之前有句话这么说:
QWidget 部件是PyQt4 中所有用户界面类的父类


突然想起,在上节中,或许会碰到中文乱码问题,在字符串前面加上u,表示unicode(具体原理也不清楚)。解决办法:比如
u'你好'
。 在下面的例子中有体现。



主窗口

QMainWindow类用来创建应用程序的主窗口。通过该类,我们可以创建一个包含状态栏,工具栏和菜单栏的经(老)典(套)应用程序框架。(虽老套,但基础还是要尽量牢固)



状态栏

#! /usr/bin/python
#  -*- coding:utf8 -*-

import sys
from PyQt4 import QtGui

class MainWindow(QtGui.QMainWindow):
    def __init__(self, parent=None):
        QtGui.QMainWindow.__init__(self)

        self.resize(250, 150)
        self.setWindowTitle(u'主窗口')
        self.statusBar().showMessage(u'就绪')

app = QtGui.QApplication(sys.argv)
main = MainWindow()
main.show()
sys.exit(app.exec_())

在这里它继承的是QMainWindow类,和上一节有点不同,上节都是QWidget。



菜单栏

#! /usr/bin/python
#  -*- coding:utf8 -*-

import sys
from PyQt4 import QtGui, QtCore

class MainWindow(QtGui.QMainWindow):
    def __init__(self, parent=None):
        QtGui.QMainWindow.__init__(self)

        self.resize(250, 150)
        self.setWindowTitle(u'主窗口')
        self.statusBar().showMessage(u'就绪')

        exit = QtGui.QAction(QtGui.QIcon('./1.ico'), u'退出', self)
        exit.setShortcut('Ctrl+Q')
        exit.setStatusTip(u'退出应用')
        exit.connect(exit, QtCore.SIGNAL('triggered()'), QtGui.qApp, \
                QtCore.SLOT('quit()'))

        #self.statusBar()

        menubar = self.menuBar()
        file = menubar.addMenu(u'&文件')
        file.addAction(exit)

app = QtGui.QApplication(sys.argv)
main = MainWindow()
main.show()
sys.exit(app.exec_())



一个action对象可以拥有菜单、文本、图标、快捷方式(快捷键)、状态信息。我们这里的exit就是一个示例。

self.connect 这句,将action对象的triggered()信号连接到预定义的quit()槽函数。



工具栏

它和菜单栏大同小异。略



总结

学习了pyqt的主窗口的菜单栏,工具栏,状态栏
综合示例代码

#! /usr/bin/python
#  -*- coding:utf8 -*-

import sys
from PyQt4 import QtGui, QtCore

class MainWindow(QtGui.QMainWindow):
    def __init__(self, parent=None):
        QtGui.QMainWindow.__init__(self)

        self.resize(250, 150)
        self.setWindowTitle(u'主窗口')
        self.statusBar().showMessage(u'就绪')

        exit = QtGui.QAction(QtGui.QIcon('./1.ico'), u'退出', self)
        exit.setShortcut('Ctrl+Q')
        exit.setStatusTip(u'退出应用')
        exit.connect(exit, QtCore.SIGNAL('triggered()'), QtGui.qApp, \
                QtCore.SLOT('quit()'))

        #self.statusBar()

        menubar = self.menuBar()
        file = menubar.addMenu(u'&文件')
        file.addAction(exit)

        textEdit = QtGui.QTextEdit()
        self.setCentralWidget(textEdit)

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

app = QtGui.QApplication(sys.argv)
main = MainWindow()
main.show()
sys.exit(app.exec_())
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: