退出主窗口时关闭子窗口
Posted
技术标签:
【中文标题】退出主窗口时关闭子窗口【英文标题】:Closing child window when exiting main 【发布时间】:2020-02-23 14:25:00 【问题描述】:我确定,这是一个非常基本的事情,但我就是不明白为什么关闭主窗口不会关闭子窗口
from PyQt5 import uic
import sys
app = QApplication(sys.argv) #Main Window
Main = uic.loadUi("main.ui")
Child = uic.loadUi("child.ui")
def child():
Child.show()
Main.button.pressed.connect(child)
Main.show()
app.exec_()
【问题讨论】:
【参考方案1】:void QWidget::setParent(QWidget *parent)
将小部件的父级设置为父级,并重置窗口标志。
QWidget::setWindowFlags(Qt::WindowFlags 类型)
import sys
from PyQt5 import uic
from PyQt5.QtWidgets import QApplication
from PyQt5.QtCore import Qt
app = QApplication(sys.argv) #Main Window
Main = uic.loadUi("main.ui")
Child = uic.loadUi("child.ui")
Child.setParent(Main) # +++
Child.setWindowFlags(Qt.Window) # +++
def child():
Child.show()
Main.button.pressed.connect(child)
Main.show()
app.exec_()
【讨论】:
谢谢尼克!就是这个! @jtamasi 如果我的回答对您有所帮助,请不要忘记标记为正确,如果您不知道该怎么做,请查看***.com/tour以上是关于退出主窗口时关闭子窗口的主要内容,如果未能解决你的问题,请参考以下文章
Qt Window Focusing:关闭二级子窗口时主窗口不聚焦
2016-11-6坚持学习Day21子窗口关闭时,同步关闭它的主窗口(方法二)