class MainWindow(QMainWindow);如何引用其他窗口
时间: 2024-04-30 15:04:33 浏览: 17
要引用其他窗口,您需要先创建它们,并将它们保存在类变量中以供后续引用。例如,假设您已经创建了名为"SecondWindow"的窗口类:
```python
class SecondWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("Second Window")
```
要在MainWindow类中引用SecondWindow,您可以在__init__方法中创建一个实例变量,并将其保存在类变量中:
```python
class MainWindow(QMainWindow):
second_window = None # 类变量
def __init__(self):
super().__init__()
# 创建菜单
menu_bar = self.menuBar()
file_menu = menu_bar.addMenu("File")
open_action = file_menu.addAction("Open")
open_action.triggered.connect(self.open_file)
# 创建按钮
self.button = QPushButton("Open Second Window", self)
self.button.setGeometry(100, 100, 200, 50)
self.button.clicked.connect(self.open_second_window)
def open_second_window(self):
if not MainWindow.second_window:
MainWindow.second_window = SecondWindow()
MainWindow.second_window.show()
def open_file(self):
file_dialog = QFileDialog(self)
file_dialog.exec()
```
在此示例中,MainWindow类中的open_second_window方法将检查是否已创建SecondWindow实例变量。如果没有,它将创建一个,并将其保存在类变量中。然后,它将显示该窗口。您可以使用类似的方式引用其他窗口。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)