【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 方法,不然就会出现对话框无法显示的问题。

参考

https://www.bilibili.com/video/BV1iD4y1D7C8

猜你喜欢

转载自blog.csdn.net/qq_42951560/article/details/125933766
今日推荐