1 使用方式
在qt designer中直接设计图形界面,然后使用pyGUI转换成py文件。
可以发现,转换的文件为一个class。并不是一个完整的程序(运行时无法出现窗口)。这个类名字是Ui_MainWindow,就是转换之前的ui。
我需要做的,就是在程序中去调用这个类,而脱离ui文件。
from PyQt5.QtWidgets import QApplication , QMainWindow import sys #首先要把引用对象导入 import s1 if __name__ == '__main__': #创建一个应用实例 app = QApplication(sys.argv) #创建一个主界面实例 mainWindow = QMainWindow() #ui实例为在qt中创建的ui文件,在这里引用 ui = s1.Ui_MainWindow() ui.setupUi(mainWindow) mainWindow.show() sys.exit(app.exec_())
2 按钮
点击按钮,触发一个事件。用到singal & slots 的概念。就是先用qt设计一个button(不要在qt里设计槽,python里参数不对),然后在python里绑定一个方法。
这样,当我点击按钮,就会触发方法。
from PyQt5 import QtCore, QtGui, QtWidgets class Ui_MainWindow(object): def setupUi(self, MainWindow): ... #在setupUi方法最后加一个方法绑定 self.pushButton.clicked.connect(self.showtips) def retranslateUi(self, MainWindow): ... #再加一个方法,作为触发项 def showtips(self): QtWidgets.QMessageBox.information(self.pushButton, "slots info", "this is the slots function")