pyqt5中,创建两个类分别为A和B,在A类中创建一个按钮,在B类创建一个tablewidget,当A类中的按钮被按下时对B类的tablewidget控件进行操作
时间: 2024-05-14 10:14:48 浏览: 88
可以使用信号和槽机制来实现这个功能。
在A类中定义一个信号,当按钮被按下时发出这个信号:
```python
class A(QWidget):
button_pressed = pyqtSignal()
def __init__(self):
super().__init__()
self.button = QPushButton('Button', self)
self.button.clicked.connect(self.button_clicked)
def button_clicked(self):
self.button_pressed.emit()
```
在B类中定义一个槽函数,当A类的信号被触发时调用这个槽函数:
```python
class B(QWidget):
def __init__(self):
super().__init__()
self.table_widget = QTableWidget(self)
self.table_widget.setRowCount(4)
self.table_widget.setColumnCount(2)
a = A()
a.button_pressed.connect(self.update_table_widget)
def update_table_widget(self):
# 对 table_widget 控件进行操作
pass
```
在B类的构造函数中创建一个A类的实例,并连接 A 类的信号和 B 类的槽函数。当按钮被按下时,A 类的信号将被触发,从而调用 B 类的槽函数来更新 table_widget 控件。
阅读全文