pyqt5-菜单栏与工具栏

《PyQt5快速开发与实践》笔记

一、界面设计
使用Qtdesigner设计包含菜单栏和工具栏的界面。
小知识:
1.菜单栏中,对于一级菜单,可以通过输入**“文件(&F)”“编辑(&E)”来加入快捷键
2.子菜单可以通过在
动作编辑器**中添加快捷键、图标等
3.默认无工具栏,工具栏通过鼠标右击添加
4.工具栏中图标的添加方式:在动作编辑器中新建一个Action,并修改图标等信息,将其拖入工具栏
在这里插入图片描述
在这里插入图片描述
文中示例设置了四个动作:
在这里插入图片描述
二、在主窗口中加载其他子窗口
应用场景:在主界面中显示新的子界面
原理:将子窗口实例作为主窗口中的一个元素,在特定条件下通过调用addWeidget方法添加到Layout中,再通过show()方法显示该窗口即可。

-- coding: utf-8 --

Form implementation generated from reading ui file ‘MainForm2.ui’

Created by: PyQt5 UI code generator 5.6

WARNING! All changes made in this file will be lost!

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName(“MainWindow”)
MainWindow.resize(391, 500)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName(“centralwidget”)
self.gridLayoutWidget = QtWidgets.QWidget(self.centralwidget)
self.gridLayoutWidget.setGeometry(QtCore.QRect(-1, -1, 611, 441))
self.gridLayoutWidget.setObjectName(“gridLayoutWidget”)
self.MaingridLayout = QtWidgets.QGridLayout(self.gridLayoutWidget)
self.MaingridLayout.setContentsMargins(0, 0, 0, 0)
self.MaingridLayout.setObjectName(“MaingridLayout”)
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 391, 23))
self.menubar.setObjectName(“menubar”)
self.menu = QtWidgets.QMenu(self.menubar)
self.menu.setObjectName(“menu”)
self.menu_E = QtWidgets.QMenu(self.menubar)
self.menu_E.setObjectName(“menu_E”)
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName(“statusbar”)
MainWindow.setStatusBar(self.statusbar)
self.toolBar = QtWidgets.QToolBar(MainWindow)
self.toolBar.setObjectName(“toolBar”)
MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBar)
self.fileOpenAction = QtWidgets.QAction(MainWindow)
self.fileOpenAction.setObjectName(“fileOpenAction”)
self.fileNewAction = QtWidgets.QAction(MainWindow)
self.fileNewAction.setObjectName(“fileNewAction”)
self.fileCloseAction = QtWidgets.QAction(MainWindow)
self.fileCloseAction.setObjectName(“fileCloseAction”)
self.addWinAction = QtWidgets.QAction(MainWindow)
self.addWinAction.setObjectName(“addWinAction”)
self.menu.addAction(self.fileOpenAction)
self.menu.addAction(self.fileNewAction)
self.menu.addAction(self.fileCloseAction)
self.menubar.addAction(self.menu.menuAction())
self.menubar.addAction(self.menu_E.menuAction())
self.toolBar.addAction(self.addWinAction)

    self.retranslateUi(MainWindow)
    QtCore.QMetaObject.connectSlotsByName(MainWindow)

def retranslateUi(self, MainWindow):
    _translate = QtCore.QCoreApplication.translate
    MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
    self.menu.setTitle(_translate("MainWindow", "文件(&F)"))
    self.menu_E.setTitle(_translate("MainWindow", "编辑(&E)"))
    self.toolBar.setWindowTitle(_translate("MainWindow", "toolBar"))
    self.fileOpenAction.setText(_translate("MainWindow", "打开"))
    self.fileOpenAction.setShortcut(_translate("MainWindow", "Alt+O"))
    self.fileNewAction.setText(_translate("MainWindow", "新建"))
    self.fileNewAction.setShortcut(_translate("MainWindow", "Alt+N"))
    self.fileCloseAction.setText(_translate("MainWindow", "关闭"))
    self.fileCloseAction.setShortcut(_translate("MainWindow", "Alt+C"))
    self.addWinAction.setText(_translate("MainWindow", "添加窗体"))
# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'MainForm2.ui'
#
# Created by: PyQt5 UI code generator 5.6
#
# WARNING! All changes made in this file will be lost!

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(391, 500)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值