qt Python 主界面点击按钮打开另一个类界面读取数据后调用主界面的槽函数 怎么接收槽函数
时间: 2023-12-08 12:02:50 浏览: 177
基于python的学生管理系统
5星 · 资源好评率100%
在Qt中,如果你想在一个类中调用另一个类的槽函数,需要使用信号与槽机制。具体步骤如下:
1. 在主界面类中定义一个槽函数,用于接收从另一个类中发送过来的信号。
```
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
#创建一个按钮
self.button = QPushButton("打开另一个界面", self)
self.button.clicked.connect(self.open_dialog)
#定义槽函数
def receive_data(self, data):
print(data)
#打开另一个界面
def open_dialog(self):
dialog = Dialog(self)
dialog.data_signal.connect(self.receive_data)
dialog.exec_()
```
2. 在另一个类中,定义一个信号,用于将数据发送给主界面类。
```
class Dialog(QDialog):
#定义一个信号,用于发送数据给主界面类
data_signal = pyqtSignal(str)
def __init__(self, parent=None):
super(Dialog, self).__init__(parent)
#创建一个按钮
self.button = QPushButton("发送数据", self)
self.button.clicked.connect(self.send_data)
#发送数据
def send_data(self):
data = "Hello, World!"
self.data_signal.emit(data)
```
在主界面类中打开另一个界面时,需要将主界面类的槽函数与另一个类的信号连接起来,这样当另一个界面发送数据时,主界面类中的槽函数就会被调用,从而接收到数据。
阅读全文