【Qt 学习笔记】QWidget的windowTitle属性 | windowIcon属性 | qrc文件机制

这篇具有很好参考价值的文章主要介绍了【Qt 学习笔记】QWidget的windowTitle属性 | windowIcon属性 | qrc文件机制。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


  • 博客主页:Duck Bro 博客主页
  • 系列专栏:Qt 专栏
  • 关注博主,后期持续更新系列文章
  • 如果有错误感谢请大家批评指出,及时修改
  • 感谢大家点赞👍收藏⭐评论✍

QWidget的windowTitle属性

文章编号:Qt 学习笔记 / 17


一、windowTitle属性

1. 简介

windowTitle属性是一种在用户界面中显示窗口的标题的属性。它可以用来设置窗口的标题栏文本,以便用户能够识别窗口的内容或功能。windowTitle属性通常在窗口的创建或初始化过程中设置,并且可以随时被修改。

2. API

API 说明
windowTitle() 获取到控件的窗⼝标题.
setWindowTitle(const QString& title) 设置控件的窗⼝标题.

提及:上述设置操作针对不同的 widget 可能会有不同的⾏为.
如果是顶层 widget (独⽴窗⼝), 这个操作才会有效.
如果是⼦ widget, 这个操作⽆任何效果.

3. 代码示例

3.1 示例1:修改窗口标题

【Qt 学习笔记】QWidget的windowTitle属性 | windowIcon属性 | qrc文件机制,Qt,qt,学习,笔记,开发语言,c++
文件代码:

//widget.cpp

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    this->setWindowTitle("修改窗口标题");
}

Widget::~Widget()
{
    delete ui;
}

二、windowIcon属性

1. 简介

windowIcon属性是用于设置应用程序窗口图标的属性。该属性可以指定一个图像文件作为窗口的图标,当应用程序运行时,该图像将显示在窗口的标题栏、任务栏和任务管理器中。

2. API

API 说明
windowIcon() 获取到控件的窗⼝图标. 返回 QIcon 对象.
setWindowIcon(const QIcon& icon) 设置控件的窗⼝图标.

3. 代码示例

3.1 示例1:设置窗口图标
  • 先在 D 盘中放⼀个图⽚, 名字为 duck.jpg
    【Qt 学习笔记】QWidget的windowTitle属性 | windowIcon属性 | qrc文件机制,Qt,qt,学习,笔记,开发语言,c++

  • 修改 widget.cpp,这里使用绝对路径的方式载入图片
    【Qt 学习笔记】QWidget的windowTitle属性 | windowIcon属性 | qrc文件机制,Qt,qt,学习,笔记,开发语言,c++

  • 运⾏程序, 可以看到窗⼝图标已经成为上述图⽚
    【Qt 学习笔记】QWidget的windowTitle属性 | windowIcon属性 | qrc文件机制,Qt,qt,学习,笔记,开发语言,c++

  • 同时任务栏中程序图标也随之改变了
    【Qt 学习笔记】QWidget的windowTitle属性 | windowIcon属性 | qrc文件机制,Qt,qt,学习,笔记,开发语言,c++

文件代码:

//widget.cpp

#include "widget.h"
#include "ui_widget.h"
#include <QIcon>
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    //创建图标文件
    QIcon icon("d:/image/duck.jpg");
    //设置图标
    this->setWindowIcon(icon);
}

Widget::~Widget()
{
    delete ui;
}

4. 绝对路径和相对路径

在上述代码中使用绝对路径的方式,将图片加载到程序中

在实际开发中, 我们⼀般不会在代码中通过绝对路径引⼊图⽚. 因为我们⽆法保证程序发布后, ⽤⼾的电脑上也有同样的路径.

如果使⽤相对路径, 则需要确保代码中的相对路径写法和图⽚实际所在的路径匹配 (⽐如代码中写作 “./image/rose.jpg”, 就需要在当前⼯作⽬录中创建 image ⽬录, 并把 rose.jpg 放进去).

绝对路径: 以盘符(windows)或者以 / (Linux) 开头的路径.
相对路径: 以 . (表⽰当前路径) 或者 以 … (表⽰当前路径上级路径) 开头的路径. 其中 . 经常也会省略. 相对路径的前提是需要明确 “当前⼯作⽬录”.

4.1 绝对路径

绝对路径是指一个文件或文件夹在文件系统中的完整的路径,包含所有的父文件夹。绝对路径以根目录为起点,可以唯一地确定一个文件或文件夹的位置。

在Windows系统中,绝对路径通常以驱动器符号(例如C:\)作为起点,后面跟着一系列的文件夹名称。例如,C:\Users\Username\Documents\file.txt就是一个在Windows系统中的绝对路径。

4.2 相对路径

相对路径是指文件或目录相对于当前工作目录的路径。在文件系统中,每个文件和目录都有一个唯一的路径来确定其位置。绝对路径是指从文件系统的根目录开始的完整路径,而相对路径是从当前工作目录开始的路径。

相对路径可以使用一些特定的符号来表示相对于当前目录的位置。以下是一些常见的符号:

  • " . ":代表当前目录。
  • " … ":代表上一级目录。
  • " / ":代表根目录。

例如,假设当前工作目录是/home/user/,而文件example.txt位于/home/user/documents/目录中,那么使用相对路径可以表示为documents/example.txt。反之,如果使用绝对路径,可以表示为/home/user/documents/example.txt

相对路径的使用可以使路径更简洁,便于移植性和可维护性。但是,相对路径的可读性可能较差,因为它们依赖于当前工作目录。换句话说,如果当前工作目录发生变化,相对路径可能会指向不正确的位置。


三、qrc 文件

1. qrc文件介绍

qrc ⽂件是⼀种XML格式的资源配置⽂件, 它⽤XML记录硬盘上的⽂件和对应的随意指定的资
源名称. 应⽤程序通过资源名称来访问这些资源.

在Qt开发中, 可以通过将资源⽂件添加到项⽬中来⽅便地访问和管理这些资源. 这些资源⽂件
可以位于qrc⽂件所在⽬录的同级或其⼦⽬录下.

在构建程序的过程中, Qt 会把资源⽂件的⼆进制数据转成 cpp 代码, 编译到 exe 中. 从⽽使依
赖的资源变得 “路径⽆关”.

这种资源管理机制并⾮ Qt 独有, 很多开发框架都有类似的机制. 例如 Android 的 Resources
和 AssetManager 也是类似的效果.

2. 步骤示例

  • 右键项目, 创建⼀个 Qt Resource File (qrc 文件), ⽂件名随意起(不要带中文), 此处叫做
    resource.qrc
    【Qt 学习笔记】QWidget的windowTitle属性 | windowIcon属性 | qrc文件机制,Qt,qt,学习,笔记,开发语言,c++
    【Qt 学习笔记】QWidget的windowTitle属性 | windowIcon属性 | qrc文件机制,Qt,qt,学习,笔记,开发语言,c++
    【Qt 学习笔记】QWidget的windowTitle属性 | windowIcon属性 | qrc文件机制,Qt,qt,学习,笔记,开发语言,c++
    【Qt 学习笔记】QWidget的windowTitle属性 | windowIcon属性 | qrc文件机制,Qt,qt,学习,笔记,开发语言,c++

  • 在 qrc 编辑器中, 添加前缀.
    【Qt 学习笔记】QWidget的windowTitle属性 | windowIcon属性 | qrc文件机制,Qt,qt,学习,笔记,开发语言,c++

此处我们前缀设置成 / 即可. 所谓的前缀, 可以理解成 “目录” . 这个前缀决定了后续我们如何在代码中访问资源.

  • 在 资源编辑器 中, 点击 add Files 添加资源⽂件. 此处我们需要添加的是 rose.jpg
    【Qt 学习笔记】QWidget的windowTitle属性 | windowIcon属性 | qrc文件机制,Qt,qt,学习,笔记,开发语言,c++
    【Qt 学习笔记】QWidget的windowTitle属性 | windowIcon属性 | qrc文件机制,Qt,qt,学习,笔记,开发语言,c++
    【Qt 学习笔记】QWidget的windowTitle属性 | windowIcon属性 | qrc文件机制,Qt,qt,学习,笔记,开发语言,c++

注意: 添加的文件必须是在 qrc ⽂件的同级目录, 或者同级目录的⼦⽬录中. 因此我们需要把之前 D 盘中的 duck.jpg 复制到上述目录中.

  • 在代码中使⽤ duck.jpg
    【Qt 学习笔记】QWidget的windowTitle属性 | windowIcon属性 | qrc文件机制,Qt,qt,学习,笔记,开发语言,c++

注意上述路径的访问规则.

  • 使用 : 作为开头, 表示从 qrc 中读取资源.
  • / 是上面配置的前缀
  • rose.jpg 是资源的名称
    需要确保代码中编写的路径和添加到 qrc 中资源的路径匹配. 否则资源⽆法被访问 (同时也不会有报错提示).
  • 运⾏程序, 可以看到图标已经能正确设置.
    【Qt 学习笔记】QWidget的windowTitle属性 | windowIcon属性 | qrc文件机制,Qt,qt,学习,笔记,开发语言,c++

文件代码:

#include "widget.h"
#include "ui_widget.h"
#include<QIcon>
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    QIcon icon(":/duck.jpg");
    this -> setWindowIcon(icon);

}

Widget::~Widget()
{
    delete ui;
}

3. qrc文件机制的优缺点

上述 qrc 这⼀套资源管理⽅案, 优点和缺点都很明显.
优点: 确保了图⽚, 字体, 声⾳等资源能够真正做到 “⽬录⽆关”, ⽆论如何都不会出现资源丢失的情况.
缺点: 不适合管理体积⼤的资源. 如果资源⽐较⼤ (⽐如是⼏个 MB 的⽂件), 或者资源特别多,⽣成的最终的 exe 体积就会⽐较⼤, 程序运⾏消耗的内存也会增⼤, 程序编译的时间也会显著增加.


【Qt 学习笔记】QWidget的windowTitle属性 | windowIcon属性 | qrc文件机制,Qt,qt,学习,笔记,开发语言,c++文章来源地址https://www.toymoban.com/news/detail-851814.html

到了这里,关于【Qt 学习笔记】QWidget的windowTitle属性 | windowIcon属性 | qrc文件机制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【QT】QWidget实现柱状图

    在名为 w_bar20auto1 的 QWidget 实现柱状图

    2024年02月02日
    浏览(40)
  • Qt 之 QWidget QLabel

    Qt Creator 以工程项目 的方式对源码进行管理一个Qt Creator工程包含不同类型的文件 。 .pro 项目描述文件 .pro.user用户配置描述文件- .h头文件 .cpp源文件 .ui界面描述文件 资源文件(图片,音频,等) pro 项目描述文件的基本组成 #一注释起始符 : 以“#”开始,到这一行结束。快捷

    2024年02月13日
    浏览(42)
  • Qt:QWidget设置半透明背景

    设置窗体QWidget半透明背景 首先前提条件是设置: setAttribute(Qt::WA_TranslucentBackground); 方法一:重写QPaintEvent 方法二:自定义qss样式 方法三:使用QGraphicsOpacityEffect ,不过这种方法会影响子控件的透明度 效果参考如下:

    2024年02月15日
    浏览(58)
  • Qt QWidget、QDialog、QMainWindow的区别

    QWidget QWidget 是Qt框架中最基础的窗口类,可以理解为用户界面的最基本单元。QWidget类提供了一个空白窗口,可以通过继承该类来创建自定义的窗口类。QWidget类提供了基本的窗口属性和方法,如大小、位置、标题、图标等。 QDialog QDialog 是QWidget类的子类,用于创建对话框窗口

    2024年02月08日
    浏览(27)
  • QWidget:Qt中的基本用户界面类

    QString类是Qt中非常重要的一个类,用于表示基本用户界面构件。它是其他用户界面( Widget )类的基类,例如QMainWindow、QDialog和QPushButton等。在本文中,我们将详细介绍QWidget类的功能和应用场景。 为了创建QWidget对象,我们可以使用QWidget的默认构造函数或指定其父对象、名称和其

    2024年02月09日
    浏览(34)
  • 【QT 网络云盘客户端】——实现文件属性窗口

    目录 文件属性对话框 设置字体样式  获取文件的信息 显示文件属性对话框 当我们点击文件中的属性,则会弹出一个属性对话框:    实现过程: 0. 设置 属性 菜单项的槽函数 。 1.鼠获取鼠标选中的 QListWidgetItem ,它包含 图标 和 文件名 2.根据 文件名 找到对应的 FileInfo对象

    2024年02月15日
    浏览(28)
  • Qt第十六章:QWidget与QML混合开发

    目录 一、Qml作为窗口引入 二、Qml作为控件引入(Qml根组件不能是window) 三、两个问题①Qml文件如何调用python函数②python代码如何控制Qml元素。 一、Qml作为窗口引入 例:QWidget窗口中用按钮 打开和关闭Qml窗口 ①QWidget窗口 ②Qml窗口 注意:此处是直接引入qml文件。如果是从q

    2024年02月16日
    浏览(32)
  • 【Qt】用QWidget显示opencv采集的摄像头图像

    本案例用QWidget容器重写paintEvent函数来显示OpenCv采集的摄像头画面,图像还可以自适应QWidget的大小,还可以检测相机断开失联的情况(可能是掉电、线被拔了等待)。在改变窗口大小时暂停显示图像,防止莫名其妙的卡顿奔溃错误!(显示图像的方式有很多种,可以用QLabel显

    2024年02月13日
    浏览(40)
  • Qt QWidget 抗锯齿圆角窗口的一个实现方案(支持子控件)

    由于 QWidget::setMask 接口设置圆角不支持抗锯齿,所以通常会使用透明窗口加圆角背景,但圆角背景不能满足对子控件的裁剪,子控件与圆角区域重叠的部分还是能显示出来。当然对于大多数窗口,留出足够的边距也是可以接受。 对一些特殊场景,比如QComboBox的列表框,UI设计

    2023年04月24日
    浏览(44)
  • 在ARM板上实现qt虚拟键盘 Qwidget实现 官方虚拟键盘、第三方虚拟键盘qtvirtualkeyboard //Qwidget最简单但效果不是最好

    在使用qt的虚拟键盘以前,我的开发板qt环境中并没有安装虚拟键盘库,所以这里还会顺便介绍如何在开发板上已安装qt环境的前提下,继续更新qt的组件。 开发板qt版本:5.15.2 在这里,我默认你已经有自己动手交叉编译过qt源码了,否则你将缺少部分细节和前置知识。首先在

    2024年04月09日
    浏览(223)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包