Qt designer-菜单栏与工具栏

一级菜单的添加

创建窗口,选择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_())
  • 6
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值