Qt:6.QWidget属性介绍(windowTitle属性-窗口标题、windowIcon属性-窗口图标、windowOpacity属性-窗口透明度)以及QRC机制

目录

一、windowTitle属性-窗口标题:

1.1windowTitle属性介绍:

1.2设置窗口标题——setWindowTitle():

1.3 获取窗口标题——windowTitle():

1.4注意事项:

二、windowIcon属性-窗口图标:

2.1windowIcon属性介绍:

2.2获取窗口图标——windowIcon() :

 2.3设置窗口图标——setWindowIcon():

三、QRC机制:

3.1QRC机制的作用:

3.2如何实现的?

3.3QRC机制的缺点:

3.4实例分析:

 四、windowOpacity属性-窗口透明度:

4.1windowOpacity属性介绍:

4.2获取窗口的透明度——windowOpacity():

4.3设置窗口的透明度——setWindowOpacity():

4.4注意事项:


一、windowTitle属性-窗口标题:

1.1windowTitle属性介绍:

  • 在 Qt 中,windowTitle 属性是 QWidget 类提供的一个属性,用于设置和获取窗口的标题文本。它通常用于设置顶级窗口的标题栏显示内容。

1.2设置窗口标题——setWindowTitle():

widget->setWindowTitle("这是窗口标题");

1.3 获取窗口标题——windowTitle():

QString title = widget->windowTitle();
//创建一个QString对象接收窗口标题

1.4注意事项:

  • windowTitle 属性用于顶级窗口,设置标题后会显示在窗口的标题栏中。可以在程序运行时动态地更改窗口的标题。
  • 对非顶级窗口的普通控件设置setwindowtitle,没有效果但是也不会报错。

二、windowIcon属性-窗口图标:

2.1windowIcon属性介绍:

  • 在 Qt 中,windowIcon 是 QWidget 类提供的一个属性,用于设置和获取窗口的图标。这个图标通常显示在窗口的标题栏左侧、任务栏和窗口管理器中。它可以是一个普通的图片文件,例如 ICO、PNG 等格式。
  • 使用要包含头文件<QIcon>

2.2获取窗口图标——windowIcon() :

QIcon Icon = widget->windowIcon();

 2.3设置窗口图标——setWindowIcon():

QIcon icon(":/images/icon.png");  // 使用资源文件中的图标
widget->setWindowIcon(icon);
  • QIcon对象建立在栈上而不是堆上。
  • QIcon不支持对象树,不能自动释放,他一般创建在某个对象里面。建立在栈上可以随着对应对象的释放而释放。
  • QIcon对象要注意路径的分隔符,要写为/不能是\,因为\在c++有转义的作用。
  • setWindowIcon 方法不支持隐式类型转换。这意味着不能直接传递一个字符串(图标路径)给 setWindowIcon 方法,而是需要创建一个 QIcon 对象并显式地将其传递给setWindowIcon方法。
  • 一般使用相对路径而不是绝对路径,绝对路径太容易出错了。使用相对路径来指定图标文件,那么这个相对路径是相对于可执行程序的当前工作目录。

三、QRC机制:

3.1QRC机制的作用:

  • Qt 的资源系统(QRC 机制)允许你将应用程序的所有资源(例如图像、图标、UI 文件、音频文件等)打包到应用程序的可执行文件中。
  • 这种机制提供了一种便捷的方法来管理和访问这些资源,不再依赖于文件系统的路径,从而避免了相对路径和文件缺失的问题。

3.2如何实现的?

  • 创建一个后缀为 .qrc 的文件,它本质是一个 XML 文件,其中描述和包含了所有需要打包的资源(例如图像、图标、UI 文件、音频文件等)。
  • 在Qt编译项目时,就会根据QRC文件提取到对应资源的二进制数据,并转换为C++代码,编译进可执行程序中。

3.3QRC机制的缺点:

  • 将所有资源文件打包到可执行文件中,会增加可执行文件的大小。对于包含大量或大体积资源(如高分辨率图像、视频、音频)的项目,这个问题尤其明显。
  • 一旦资源文件被嵌入到可执行文件中,如果需要更新某个资源,则必须重新编译整个应用程序。这对于频繁更新资源的项目来说可能不太方便。

3.4实例分析:

  • 创建一个Qt Resource file文件:

        

  • 创建一个前缀:

        

  • 添加资源:

        

  • 需要注意的是,添加的资源,要在qrc文件在同级目录下,或者在同级目录的子目录中。
  • 调用qrc文件中的资源,使用" 冒号 + 前缀 + 资源名"。

 四、windowOpacity属性-窗口透明度:

4.1windowOpacity属性介绍:

  • 在 Qt 中,windowOpacity 属性是 QWidget 类提供的一个属性,用于设置和获取窗口的透明度。
  • 从完全不透明(1.0)到完全透明(0.0)之间的任意值。这对于实现淡入淡出效果或创建半透明窗口非常有用。

4.2获取窗口的透明度——windowOpacity():

qreal opacity = widget->windowOpacity();
  • windowOpacity()的返回值是一个浮点型,可以使用float/double接收,但是更建议使用Qt的封装的qreal类型接收。
  • qreal类型是Qt封装的float/double类型,使用时不需要包含头文件。

4.3设置窗口的透明度——setWindowOpacity():

widget->setWindowOpacity(0.5);

4.4注意事项:

  • 透明度最高为1.0,设置比1.0大的数给窗口,是不会进行设置的,这基于setWindowOpacity内部进行了判定。
  • 设置窗口透明度可能会对性能产生一定影响,特别是在绘制复杂界面或窗口内容时。
  • windowOpacity 属性仅影响整个窗口的透明度,而不影响窗口内部的子控件。如果需要设置子控件的透明度,可以使用 QGraphicsOpacityEffect。
  • 14
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

S+叮当猫

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

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

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

打赏作者

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

抵扣说明:

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

余额充值