Qt designer-菜单栏与工具栏

本文介绍如何在PyQt5中实现菜单项与快捷键的添加,包括一级菜单、二级菜单及工具栏的编辑方法。同时,详细讲解了如何在主窗口中加载其他窗口,通过实例展示了使用栅格布局管理器进行子窗口添加的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一级菜单的添加

创建窗口,选择MainWindow
在这里插入图片描述
点击Type here,添加选项卡与快捷键注意编辑快捷键时使用&,例如菜单(&F),编辑完毕后,必须按下回车来确认
在这里插入图片描述

工具栏,与二级菜单编辑

二者都要现在右下角的Action Editor中编辑
在这里插入图片描述
使用new添加(shortcut为快捷键)
在这里插入图片描述
在这里插入图片描述
编辑完成后
如果添加工具栏直接鼠标左键单击,选择Add Tool Bar,将编辑好的时间拖动过去即可
如果是二级菜单,则在对应一级菜单下,选择Add Separator,拖动过去即可
在这里插入图片描述
测试
逻辑文件

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget ,QFileDialog
from menu import Ui_MainWindow

class MainForm(QMainWindow, Ui_MainWindow):
    def __init__(self):
        super(MainForm,self).__init__()
        self.setupUi(self)
        #信号与槽
        self.fileCloseaction.triggered.connect(self.close)
        self.fileOpenaction.triggered.connect(self.openMsg)

    def openMsg(self):
        #打开执行的函数体
        file,ok=QFileDialog.getOpenFileName(self,"打开","C:/","All Files (*);;Text Files(*.txt)")
        self.statusbar.showMessage(file)

if __name__=="__main__":
    app=QApplication(sys.argv)
    win=MainForm()
    win.show()
    sys.exit(app.exec_())

运行
在这里插入图片描述
选择打开后的效果
在这里插入图片描述

加载其他窗口

1.首先新建一个普通窗口,命名为child
在这里插入图片描述
2.方便起见,主窗口使用上例,但做如下修改,在主窗口中央添加一个栅格布局管理器并命名为Maingridlayout
需要注意的是,要将管理器的范围扩展到剩余整个窗口区域
在这里插入图片描述
3.将ui文件转成py文件后,再编辑逻辑文件

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget ,QFileDialog
from menu import Ui_MainWindow
from child import Ui_Form
class MainForm(QMainWindow, Ui_MainWindow):
    def __init__(self):
        super(MainForm,self).__init__()
        self.setupUi(self)
        #实例化child
        self.child=ChildForm()
        self.fileCloseaction.triggered.connect(self.close)
        self.fileOpenaction.triggered.connect(self.openMsg)
        #编辑添加窗口
        self.addWinaction.triggered.connect(self.childShow)

    def childShow(self):
        #添加子窗口
        self.Maingridlayout.addWidget(self.child)
        self.child.show()

    def openMsg(self):
        file,ok=QFileDialog.getOpenFileName(self,"打开","C:/","All Files (*);;Text Files(*.txt)")
        self.statusbar.showMessage(file)

class ChildForm(QWidget,Ui_Form):
    def __init__(self):
        super(ChildForm,self).__init__()
        self.setupUi(self)

if __name__=="__main__":
    app=QApplication(sys.argv)
    win=MainForm()
    win.show()
    sys.exit(app.exec_())
### QtDesigner 中的界面设计菜单操作 #### 工具概述 QtDesigner 是一款专为开发人员设计的工具,主要用于快速构建基于 Qt 库的应用程序用户界面 (UI)[^1]。 它支持通过简单的拖拽方式将控件放置到窗口上,并提供实时预览功能。 #### 创建主窗口并添加菜单栏QtDesigner 中,可以通过以下方法实现菜单的设计: - 打开 QtDesigner 并新建一个 `MainWindow` 类型的项目。 - 默认情况下,`MainWindow` 自带一个顶部菜单栏 (`MenuBar`) 和状态栏 (`StatusBar`)。 - 单击菜单栏区域,在弹出的上下文中选择 “Add Menu”,即可新增一个菜单项[^3]。 #### 添加子菜单和动作 为了进一步完善菜单结构,可以在已有的菜单项下添加具体的选项(即动作)。具体步骤如下: - 右键点击某个菜单条目,选择 “Add Action” 来增加新的菜单命令。 - 对于每一个新加入的动作,都可以双击其名称来进行重命名以及调整其他参数,比如快捷键配置等[^4]。 #### 配置行为逻辑 虽然 QtDesigner 提供了一个直观的方式去搭建静态 UI 结构,但对于动态交互部分则需借助 Python 或 C++ 实现。对于使用 PyQt5 的场景来说,通常会先利用 pyuic5 将 `.ui` 文件转换成对应的 Python 脚本文件后再编写业务逻辑代码: ```python from PyQt5 import QtWidgets, uic class MyWindow(QtWidgets.QMainWindow): def __init__(self): super(MyWindow, self).__init__() uic.loadUi('your_ui_file.ui', self) if __name__ == '__main__': app = QtWidgets.QApplication([]) window = MyWindow() window.show() app.exec_() ``` 上述示例展示了如何加载由 QtDesigner 导出的 ui 文件,并将其嵌入至自定义类中运行起来[^2]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值