pyqt 弹出子窗口
时间: 2023-10-16 22:05:41 浏览: 104
要在PyQt中实现弹出子窗口的功能,可以按照以下步骤进行操作:
步骤一:创建主窗口
首先,创建一个主窗口,并设置一个按钮用于弹出子窗口。可以使用QMainWindow类来创建主窗口,并在构造函数中设置窗口标题和按钮。代码如下所示:
```python
from PyQt5.QtWidgets import *
import sys
# 主窗口
class Main(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("主窗口")
fbutton = QPushButton("弹出子窗口", self)
fbutton.clicked.connect(self.show_child)
def show_child(self):
print("子窗口")
if __name__ == "__main__":
app = QApplication(sys.argv)
window = Main()
window.show()
sys.exit(app.exec_())
```
步骤二:创建子窗口
接下来,创建一个子窗口,并设置其大小和标题。可以使用QMainWindow类来创建子窗口,并在构造函数中设置窗口大小和标题。代码如下所示:
```python
from PyQt5.QtWidgets import *
import sys
# 子窗口
class Child(QMainWindow):
def __init__(self):
super().__init__()
self.resize(360,240)
self.setWindowTitle("我是子窗口啊")
if __name__ == "__main__":
app = QApplication(sys.argv)
window = Child()
window.show()
sys.exit(app.exec_())
```
步骤三:连接主窗口按钮和子窗口
最后,将主窗口的按钮点击事件与弹出子窗口的操作连接起来。在主窗口的show_child方法中,创建子窗口的实例,并调用show方法显示子窗口。代码如下所示:
```python
from PyQt5.QtWidgets import *
import sys
# 主窗口
class Main(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("主窗口")
fbutton = QPushButton("弹出子窗口", self)
fbutton.clicked.connect(self.show_child)
def show_child(self):
child_window = Child()
child_window.show()
# 子窗口
class Child(QMainWindow):
def __init__(self):
super().__init__()
self.resize(360, 240)
self.setWindowTitle("我是子窗口啊")
if __name__ == "__main__":
app = QApplication(sys.argv)
window = Main()
window.show()
sys.exit(app.exec_())
```
通过以上步骤,可以在PyQt中实现弹出子窗口的功能。当用户点击主窗口的按钮时,子窗口将会弹出显示。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [pyqt5主窗口按键弹出子窗口](https://blog.csdn.net/qq_30893653/article/details/128888529)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文