Qt for Python控件显示(默认不显示没有父控件的控件)
Posted Xavier Jiezou
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt for Python控件显示(默认不显示没有父控件的控件)相关的知识,希望对你有一定的参考价值。
引言
最近在学习 Python GUI 开发,选择了比较通用的 PySid6 框架,这里记录一下关于控件显示的问题。
教程
新建(实例化)一个控件时,若没有指定 parent
,即父控件,就默认不显示,除非你手动调用该控件的 show
方法。
如果你新建控件时,指定了 parent
,则当父控件显示后,子控件会自动跟着跟着显示, 而无需手动调用 show
方法。
实例
新建一个 QWidget 类的控件 win
,未指定 parent
,需要调用 show
方法才能显示。
from PySide6.QtWidgets import QApplication, QWidget
if __name__ == "__main__":
app = QApplication()
win = QWidget()
win.show()
app.exec()
接下来,又新建一个按钮控件 btn
,绑定一个父控件 win
,执行程序发现,当 win
控件调用 show
方法时,btn
控件也会跟随显示。
from PySide6.QtWidgets import QApplication, QWidget, QPushButton
if __name__ == "__main__":
app = QApplication()
win = QWidget()
btn = QPushButton(parent=win)
win.show()
app.exec()
注意
说这个的意思呢,就是提醒大家在主窗口(Main Window)中调用对话框(Dialog)时别忘了给对话框设置 parent
,或者直接调用 show 方法,不然就会出现对话框无法显示的问题。
参考
以上是关于Qt for Python控件显示(默认不显示没有父控件的控件)的主要内容,如果未能解决你的问题,请参考以下文章