第一步:在.ui文件上点击鼠标右键,在弹窗中选择 "PyQt: Edit In Designer"
弹出Qt设计界面:
第二步:从Qt设计界面的左侧拖进一个插件,比如Push Button插件 ,双击控件,输入显示文字“测试”,在右侧objectName栏中,对该控件重命名为“btn_test”. 这个名字是该控件在后台代码中的名字。
第三步:点击下图中“1”的位置,然后把鼠标放在控件上,点击左键,运动鼠标到主窗口,建立了一个“接地线”
此时,弹出一个窗口,见下图,分别点击圈1、圈2的按钮,
弹出一个新的对话框,按先后顺序点击圈1、圈2位置,新建一个槽函数“slot_btn_test()”
点击“OK”后回到下面界面,可以在圈2的位置看到新增加的槽函数了,按顺序点击圈1、圈2、圈3,建立信号与槽函数的连接。
点击“OK”后回到Qt的主界面,可以在下图红圈的位置看到,我们给新控件绑定了一个槽函数“slot_btn_test()”
第二步: 回到VSCode, 在.ui文件上点击鼠标右键,选择"PyQt:Compile Form",把.ui文件编译为.py文件。可以在以下三个位置处看到“btn_test”的相关设置信息,其中,圈2处代码把按钮“btn_test”与槽函数“slot_btn_test()”关联起来。(这里都是自动生成,不需要任何人工改动)
第三步:在主函数中编程设计槽函数“slot_btn_test()”的具体功能。
代码细节如下:
import sys
from PyQt5.QtWidgets import QMainWindow,QApplication,QWidget
from PyQt5.QtWidgets import QFileDialog,QTextBrowser,QPushButton,QVBoxLayout, QHBoxLayout, QMessageBox
from PyQt5.QtGui import QIcon
from ui_MyDialog import Ui_Dialog #导入你写的界面类
class MyMainWindow(QMainWindow,Ui_Dialog): #这里也要记得改
def __init__(self,parent =None):
super(MyMainWindow,self).__init__(parent)
self.setupUi(self)
def slot_btn_test():
print("hello world!")