一级菜单的添加
创建窗口,选择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_())