【PyQt】通过load ui来实现菜单栏

@[toc]通过load ui来实现菜单栏

通过load ui来实现菜单栏

在 PyQt 或 PySide 中,可以通过加载 .ui 文件来实现菜单栏的设计。.ui 文件是使用 Qt Designer 创建的界面设计文件,它可以用 XML 格式描述界面布局和组件。通过加载 .ui 文件,可以快速实现复杂的界面设计,包括菜单栏。

创建流程

1.使用QT Designer创建一个基本的ui文件。
2.创建主窗口QMainWindow
3.在窗口中添加菜单栏(QMenuBar),并在菜单栏中添加菜单项(QMenu)和动作(QAction)。

代码示例

python 复制代码
import sys
import shutil
from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import *
from PyQt5 import uic
class MyWindow(QMainWindow):

    def __init__(self):
        super().__init__()
        self.init_ui()

    def init_ui(self):
        # 主窗口的设置


        self.ui = uic.loadUi("./Main_window.ui")
        # 加载好ui文件之后再进行设置菜单栏
        menu = self.ui.menubar
        # menu.setNativeMenuBar(False)
        file_menu = menu.addMenu("文件")
        file_menu.addAction("新建")
        file_menu.addAction("打开")
        file_menu.addAction("保存")

        edit_menu = menu.addMenu("编辑")
        edit_menu.addAction("复制")
        edit_menu.addAction("粘贴")
        edit_menu.addAction("剪切")

if __name__=="__main__":
    app = QApplication(sys.argv)

    w = MyWindow()
    # 展示窗口
    w.ui.show()

    app.exec()

代码效果

相关推荐
修炼前端秘籍的小帅11 天前
Stitch——Google热门的免费AI UI设计工具
前端·人工智能·ui
王码码203511 天前
Flutter for OpenHarmony:socket_io_client 实时通信的事实标准(Node.js 后端的最佳拍档) 深度解析与鸿蒙适配指南
android·flutter·ui·华为·node.js·harmonyos
2501_9219308311 天前
Flutter for OpenHarmony:第三方库实战 chewie 视频播放器UI组件详解
flutter·ui
梵得儿SHI11 天前
Vue3 生态工具实战宝典:UI 组件库 + 表单验证全解析(Element Plus/Ant Design Vue/VeeValidate)
前端·vue.js·ui·elementplus·vue性能优化·antdesignvue·表单验证方案
Unity游戏资源学习屋11 天前
【Unity UI资源包】GUI Pro - Casual Game 专为休闲手游打造的专业级UI资源包
ui·unity
麻瓜呀12 天前
vue2 Element-ui框架相关常见问题-表单组件重置显示异常
运维·服务器·ui
少云清12 天前
【UI自动化测试】4_PO模式 _PO模式封装
ui·po模式
菜鸟小芯12 天前
【GLM-5 陪练式创意 UI 实战】第二篇:创意魔法盒 —— 从 “开心” 到 “科技感”,AI 驱动的 UI 风格迭代
科技·ui