Bootstrap

Pyqt5点击菜单栏弹出子窗口

因为项目需要用python实现一个操作界面供内部人员使用

有Android基础上手相对较快

为了项目界面好调整采用了ui分离的形式,搭配Qt设计师操作起来更快捷,这样不用来回修改代码啦,现在我们来看下这个案例

考虑到后续会有很多参数所以特意建了个文件share.py

class SI:
    mainWin = None
    sqlWin = None
    xbjWin = None

这是main.py

import sys
from PyQt5 import QtCore, QtGui, QtWidgets,uic
from PyQt5.QtWidgets import QApplication, QDialog
from lib.share import SI

class Win_Main:
    def __init__(self):
        print("主窗口")
        self.ui = uic.loadUi("ui/main.ui")
        self.ui.action_sql.triggered.connect(self.sqlSet)
        self.ui.action_xbj.triggered.connect(self.xbjSet)

    def sqlSet(self):
        SI.sqlWin = Sql_Main()
        SI.sqlWin.ui.show()

    def xbjSet(self):
        SI.xbjWin = Xbj_Main()
        SI.xbjWin.ui.show()

class Sql_Main:
    def __init__(self):
        print("系统Database配置窗口")
        self.ui = uic.loadUi("ui/sql_setting.ui")

class Xbj_Main:
    def __init__(self):
        print("系统校表机配置窗口")
        self.ui = uic.loadUi("ui/xbj_setting.ui")

if __name__ == "__main__":
    App = QApplication(sys.argv)    # 创建QApplication对象,作为GUI主程序入口
    SI.mainWin = Win_Main()
    SI.mainWin.ui.show()
    print("打开main主窗口")
    sys.exit(App.exec_())   # 循环中等待退出程序



这里主要注意下ui界面的参数名不要传错

 

;