一、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注意事项:
标签:文件,QRC,窗口,Qt,windowOpacity,windowTitle,windowIcon,属性,图标 From: https://blog.csdn.net/weixin_63716012/article/details/140086331
- 透明度最高为1.0,设置比1.0大的数给窗口,是不会进行设置的,这基于setWindowOpacity内部进行了判定。
- 设置窗口透明度可能会对性能产生一定影响,特别是在绘制复杂界面或窗口内容时。
- windowOpacity 属性仅影响整个窗口的透明度,而不影响窗口内部的子控件。如果需要设置子控件的透明度,可以使用 QGraphicsOpacityEffect。