Qt qApp, this, ui的关系

本文介绍了在Qt编程中,qApp、this和ui三个关键对象的作用域差异。qApp全局指向应用程序,this指针用于控制C++类(包括Qt窗口类)的行为,而ui则用于操作窗口内的具体部件。控制层次从qApp到this再到ui,对应于从整体到部分的访问权限。文章还讨论了反向访问的限制,强调了明确组件层级关系的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 作用域不同

qApp:指向整个app。

this:指向 C++类(包含Qt窗口类)。

ui:指向本窗口内的不同部件。

  1. 可操纵的函数不同

比如:

this:可操纵 show(), hide()之类的函数,已经可操控的外部类。目的是:控制整个窗口的动作或行为,属于对窗口进行宏观控制。

ui:可操纵 本窗口内的不同部件。属于窗口的细节控制。

3. 访问的层次顺序权限

qApp--->this访问窗口--->ui 窗口内部的大中小部件:

qApp -> this -> ui ----------> 窗口大部件 -> 该大部件内部的中部件->... ->该中部件内部的小部件,或末端部件。

地球 -> 亚洲 -> .... -> Me

从大到小,与快递地址类似。

反之,不能简单访问。比如需要小部件将指针传给大部件,然后,大部件访问小部件。

知道地名“沙坪坝”,但有太多同名的地名“沙坪坝”了。凭什么说“沙坪坝”海南的?而不是武昌的呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值