qt在自定义类中更改主界面控件python代码实现
时间: 2023-12-30 22:05:18 浏览: 95
你可以通过以下代码实现在自定义类中更改主界面控件:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
self.button = QPushButton('Click me', self)
self.button.clicked.connect(self.handle_button_click)
self.custom_class = CustomClass(self)
def handle_button_click(self):
self.custom_class.change_label_text('Button clicked')
class CustomClass:
def __init__(self, parent):
self.label = QLabel('Hello world', parent)
self.label.move(50, 50)
def change_label_text(self, text):
self.label.setText(text)
```
在上面的代码中,主界面窗口类 `MyWindow` 中创建了一个按钮 `button` 并连接了它的点击事件。同时,也创建了一个自定义类 `CustomClass` 的实例 `custom_class`,该实例在初始化时创建了一个标签 `label` 并将其移动到了主界面窗口上。
当按钮被点击时,会调用 `handle_button_click` 方法,该方法会调用 `custom_class` 的 `change_label_text` 方法,从而更改标签的文本内容。注意,这里的 `CustomClass` 的实例需要传入主界面窗口 `MyWindow` 作为父级,以便在主界面上显示。
阅读全文