【Qt for Python】控件显示问题(默认不显示没有父控件的控件)

1 篇文章 0 订阅
本文介绍了在使用PySide6进行Python GUI开发时,控件显示与父控件之间的关系。如果新建控件未指定parent,则需要手动调用show方法来显示;而如果指定了parent,子控件会在父控件显示时自动显示。作者通过实例展示了QWidget和QPushButton的使用,并强调了在主窗口调用对话框时设置parent或显示的重要性。
摘要由CSDN通过智能技术生成

引言

最近在学习 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Xavier Jiezou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值