PyQt4 学习笔记-2

1.添加状态栏


import sys
from PyQt4 import QtGui


class Example(QtGui.QMainWindow):
    
    def __init__(self):
    
        super(Example, self).__init__()
        self.initUI()
                
    def initUI(self):               
        
        self.statusBar().showMessage('Ready')
        self.setGeometry(300, 300, 250, 150)
        self.setWindowTitle('Statusbar')    
        self.show()

def main():
    
    app = QtGui.QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

if __name__ == '__main__':
    main()


       我们可以看到这个程序中定义的新的 example 类是继承自 QtGui.QmainWindow 类。这个类可以用来创造一个经典的应用骨架。这个骨架包括状态栏,菜单栏以及工具栏。


        self.statusBar().showMessage('Ready')


         使用statusBar方法创建一个状态栏,一般位于窗口的左下角。showMessage定义状态栏的显示内容是 Ready


2.添加菜单栏


import sys
from PyQt4 import QtGui


class Example(QtGui.QMainWindow):
    
    def __init__(self):
    
        super(Example, self).__init__()       
        self.initUI()    
        
    def initUI(self):               
        
        exitAction = QtGui.QAction(QtGui.QIcon('exit.png'), '&Exit', self)        
        exitAction.setShortcut('Ctrl+Q')
        exitAction.setStatusTip('Exit application')
        exitAction.triggered.connect(QtGui.qApp.quit)

        self.statusBar()

        menubar = self.menuBar()
        fileMenu = menubar.addMenu('&File')
        fileMenu.addAction(exitAction)
        
        self.setGeometry(300, 300, 300, 200)
        self.setWindowTitle('Menubar')    
        self.show()
        
        
def main():
    
    app = QtGui.QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())

if __name__ == '__main__':
    main()


      这段程序在原有的基础上添加了一个菜单栏。这个菜单栏只有一个选项就是终止这个应用       

        exitAction = QtGui.QAction(QtGui.QIcon('exit.png'), '&Exit', self)        
        exitAction.setShortcut('Ctrl+Q')
        exitAction.setStatusTip('Exit application')
        exitAction.triggered.connect(QtGui.qApp.quit)


      首先,为这个应用添加一个action。QAction中规定了这个action的名字叫做 Exit,使用的图标是exit.png。 setShortcut 将这个action的快捷键定义为ctrl+Q。并用setStatusTip规定,在应用进行这个action时,应用对应的状态栏中将显示Exit application。最后,这个action的功能通过connect链接到QtGui.qApp.quit,被赋予退出的功能


        menubar = self.menuBar()
        fileMenu = menubar.addMenu('&File')
        fileMenu.addAction(exitAction)


      创建了一个菜单栏,并用addMenu添加了菜单名称为 File。在File中,添加了之前定制的action。


2.添加工具栏


import sys
from PyQt4 import QtGui


class Example(QtGui.QMainWindow):
    
    def __init__(self):
        super(Example, self).__init__()
        
        self.initUI()
        
        
    def initUI(self):               
        
        exitAction = QtGui.QAction(QtGui.QIcon('exit24.png'), 'Exit', self)
        exitAction.setShortcut('Ctrl+Q')
        exitAction.triggered.connect(QtGui.qApp.quit)
        
        self.toolbar = self.addToolBar('Exit')
        self.toolbar.addAction(exitAction)
        
        self.setGeometry(300, 300, 300, 200)
        self.setWindowTitle('Toolbar')    
        self.show()
        
        
def main():
    
    app = QtGui.QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())


if __name__ == '__main__':
    main()


      直接使用addToolBar 方法添加一个名为 Exit 的工具栏。用addAction方法将exitAction添加给这个工具。


2.添加文本操作窗口


import sys
from PyQt4 import QtGui


class Example(QtGui.QMainWindow):
    
    def __init__(self):
        super(Example, self).__init__()
        
        self.initUI()
        
        
    def initUI(self):               
        
        textEdit = QtGui.QTextEdit()
        self.setCentralWidget(textEdit)

        exitAction = QtGui.QAction(QtGui.QIcon('exit24.png'), 'Exit', self)
        exitAction.setShortcut('Ctrl+Q')
        exitAction.setStatusTip('Exit application')
        exitAction.triggered.connect(self.close)

        self.statusBar()

        menubar = self.menuBar()
        fileMenu = menubar.addMenu('&File')
        fileMenu.addAction(exitAction)

        toolbar = self.addToolBar('Exit')
        toolbar.addAction(exitAction)
        
        self.setGeometry(300, 300, 350, 250)
        self.setWindowTitle('Main window')    
        self.show()
        
        
def main():
    
    app = QtGui.QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())


if __name__ == '__main__':
    main()


         QtGui.QTextEdit 方法添加一个文本编辑窗口。setCentralWidget 将这个窗口放置在原来窗口的中心。


你可能感兴趣的:(PyQt4 学习笔记-2)