一級菜單的添加
創建窗口,選擇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_())