如何在Python中利用qtdesigner设置两个按钮连接一个自定义类的两个函数
时间: 2023-06-10 14:03:49 浏览: 159
您好!感谢您的问题。针对您的问题,我提供以下代码供您参考:
```
# 导入所需的模块和类
from PyQt5 import QtWidgets
from PyQt5.QtCore import pyqtSlot
from PyQt5.QtWidgets import QApplication, QMainWindow
from your_custom_class import YourCustomClass
class MyWindow(QMainWindow):
def __init__(self):
super(MyWindow, self).__init__()
# 创建两个按钮
self.btn1 = QtWidgets.QPushButton("Button 1", self)
self.btn2 = QtWidgets.QPushButton("Button 2", self)
# 将两个按钮连接到 MyWindow 类的两个函数
self.btn1.clicked.connect(self.btn1_clicked)
self.btn2.clicked.connect(self.btn2_clicked)
# 创建自定义类的实例并保存为成员变量
self.custom_class = YourCustomClass()
@pyqtSlot()
def btn1_clicked(self):
# 调用自定义类的函数1
self.custom_class.custom_func1()
@pyqtSlot()
def btn2_clicked(self):
# 调用自定义类的函数2
self.custom_class.custom_func2()
if __name__ == '__main__':
app = QApplication([])
window = MyWindow()
window.show()
app.exec_()
```
在这段代码中,我们首先从 PyQt5 模块导入所需的类和函数,包括 QtCore, QtWidgets 和 pyqtSlot。然后,我们创建一个 QMainWindow 子类 MyWindow,该类包含两个按钮(btn1 和 btn2)并将它们分别连接到 MyWindow 类的两个函数 (btn1_clicked 和 btn2_clicked)。我们还创建自定义类 YourCustomClass 的实例,将其保存为成员变量以备调用。最后,我们启动应用程序并显示窗口。
当用户单击按钮时,将调用相应的函数。在这些函数中,我们通过成员变量 custom_class 调用 YourCustomClass 的两个自定义函数 custom_func1 和 custom_func2。
希望这可以帮助您解决问题!如果您还有其他问题,请随时问我。
阅读全文