目录

Qt-控件概述-QWdiget

Qt 控件概述 QWdiget

Qt为我们提供了很多控件,这些控件拿过来就可以使用

QWidget

Qt中所有的组件都是继承自QWidget

Qt Creator中的右侧可以看到QWidget的各种属性 其中各种属性都可以在Qt文档中找到说明

https://i-blog.csdnimg.cn/direct/eb70bdc8fd2448f0986ba2d267b717ff.png

属性

enabled描述该组件是否可用 相对就是禁用

禁用就是指 该组件无法与用户进行交互

同时继承它的所有子元素也被禁用

https://i-blog.csdnimg.cn/direct/978785768ddf4d1eaf62eb3849f8ae0a.png

https://i-blog.csdnimg.cn/direct/7d966a839c774d00b81dc5622dc79e20.png

geometry :位置和尺寸. 其实是四个属性的统称

https://i-blog.csdnimg.cn/direct/5945687ee0e34b888b57ab6324a4bd1e.png

QRect是一个矩形

https://i-blog.csdnimg.cn/direct/cb5415bd66ba4b21b3feda7ad4bece72.png

一下操作都是对按钮左上角的一个点做位置改变 左上角改变的同时 宽度和高度都发生改变

https://i-blog.csdnimg.cn/direct/92d5d66a925047479f11bd085d465098.png

要让宽度和高度不发生改变,而实现平移呢

利用第二种传参方式

https://i-blog.csdnimg.cn/direct/8d78bafe224949a9a070ff9b2e17ccab.png

WindowFrame的影响

Window图形化界面都有上面这个框

https://i-blog.csdnimg.cn/direct/df1c1dede08a4b6aaa33b04ccd33334b.png ​​

在Qt中关于位置尺寸提供了很多API

有些API需要考虑WindowFrame 有些API是根据Widget来考虑的

https://i-blog.csdnimg.cn/direct/3c62a5b2379a475886e39ba2db4e0b4f.png

为什么此时时一样的?

由于我们是在Widget构造函数中做出测试的,但是此时Widget还没有构造出来,没有加入到WindowFrame中,也就没有造成影响

https://i-blog.csdnimg.cn/direct/ab451b4d761b4cd388c9bb8cd5d5de41.png

当测试代码不放在构造函数中时,可以看到宽度高度不一样

https://i-blog.csdnimg.cn/direct/52cca0cdb7494a0eb862edb2ba8fb151.png

windowTitle

https://i-blog.csdnimg.cn/direct/59a4920fcedd448bb8808d30449df52a.png

tips:windowTitle只针对Widget设置

windowIcon 窗口图标

https://i-blog.csdnimg.cn/direct/41ae33fd7d5441859345775e34713d06.png

QIcon就是一个图像类

QIcon不支持对象数机制,我们需要把它建立在栈上,它生命周期不影响图标的显示

https://i-blog.csdnimg.cn/direct/273f24c9e4814e7d81fd235429a13c53.png

tips:输入路径是的使用/ 因为担心\r\n c++还引入了raw来解决这类问题

https://i-blog.csdnimg.cn/direct/8a460ca3d6e04b0098756210549ab069.png

绝对路径的写法是不科学的,因为用户图片存放的位置可能不同,所以得使用相对路径

https://i-blog.csdnimg.cn/direct/fbe4135650d241a4999c9dcd3dc80a08.png