PyQt5学习笔记(二):菜单与工具栏

例1:菜单栏

# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QAction
 
class MyWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.iniUI()
 
    def iniUI(self):
        self.setWindowTitle("主窗口")
        self.setGeometry(300, 300, 250, 150)
        
        #创建状态栏
        self.statusBar()
        
        #创建菜单栏
        menu = self.menuBar()
        # 创建两个菜单
        file_menu = menu.addMenu("文件")
        file_menu.addSeparator()
        edit_menu = menu.addMenu('修改')
        
        #定义行为、设定状态栏、并添加到菜单
        new_action = QAction('新的文件', self)
        new_action.setStatusTip('打开新的文件')
        file_menu.addAction(new_action)
        # 定义退出行为、设定状态栏、设定槽函数、设定快捷键、并添加到菜单
        exit_action = QAction('退出',self)
        exit_action.setStatusTip("点击退出应用程序")
        exit_action.triggered.connect(self.close)
        exit_action.setShortcut('Ctrl+Q')
        file_menu.addAction(exit_action)
 
if __name__ == '__main__':
    app = QApplication(sys.argv)
    w = MyWindow()
    w.show()
    sys.exit(app.exec_())

QMainWindow类提供了一个应用主窗口。默认创建一个拥有状态栏、工具栏和菜单栏的经典应用窗口骨架。

setGeometry()做了两件事:将窗口在屏幕上显示,并设置了它的尺寸。setGeometry()方法的前两个参数定位了窗口的x轴和y轴位置。第三个参数是定义窗口的宽度,第四个参数是定义窗口的高度。事实上,这是将resize()和move()方法融合在一个方法内。

例2:工具栏

# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import QMainWindow, QTextEdit, QAction, QApplication
from PyQt5.QtGui import QIcon
 
 
class MyWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.initUI()
        
    def initUI(self):
        textEdit = QTextEdit()
        self.setCentralWidget(textEdit)

        #定义行为
        exitAction = QAction(QIcon('web.png'), 'Exit', self)
        exitAction.setShortcut('Ctrl+Q')
        exitAction.setStatusTip('Exit application')
        exitAction.triggered.connect(self.close)
        
        #由主窗口生成状态栏
        sb = self.statusBar()
        sb.showMessage('Ready')
        
        #由主窗口生成菜单栏
        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()
         
         
if __name__ == '__main__':     
    app = QApplication(sys.argv)
    w = MyWindow()
    sys.exit(app.exec_())

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值