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

参考

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

以上是关于Qt for Python控件显示(默认不显示没有父控件的控件)的主要内容,如果未能解决你的问题,请参考以下文章

怎样让jQueryUI 的日历控件显示中文日历

QT 常用控件

QT 如何让getSaveFileName 这个控件不弹出保存窗口直接指定路径保存

Qt编写自定义控件53-自定义宽高下拉框

Qt 库中控件的默认 HTML 样式

QT中的画面控制