Qt中QIcon图标设置(标题、菜单栏、工具栏、状态栏图标)

1 exe程序图标概述

在 Windows 操作系统中,程序图标一般会涉及三个地方;

(1) 可执行程序(以及对应的快捷方式)的图标

(2) 程序界面标题栏图标

(3)程序在任务栏中的图标

2 icon图标文件制作方法

参考:ICO图标在线转换_ICO图标制作工具_PNG在线转ICO - ICO吧

3 QT QIcon图标设置方法

(1)方法一

【1】在.pro中添加:

RC_ICONS = favicon.ico #facicon.ico为图标文件名

【2】代码中设置

MainWindow::MainWindow(QWidget *parent): QMainWindow(parent)
{this->setWindowTitle("ICON SET");QWidget* w=new QWidget;setCentralWidget(w);setWindowIcon(QIcon("favicon.ico"));//或者 setWindowIcon(QIcon(":/favicon.ico"));
}

【3】图标文件放置.pro同级目录 ;也可以根据需要放置其它地方,调整调用路径

 【4】qmake->构建->运行结果

(2)方法二

【1】通过 Qt Creator 为项目创建一个新的资源文件,如下图所示:

【2】 右键点击创建好的资源文件,选择“Open in Editor”;

 选择添加前缀

添加现有的图标文件 ,如下图标文件名称为“favicon.ico”,如下表明该文件位于.pro项目同级目录下;

【3】 代码中设置

MainWindow::MainWindow(QWidget *parent): QMainWindow(parent)
{this->setWindowTitle("ICON SET");QWidget* w=new QWidget;setCentralWidget(w);setWindowIcon(QIcon(":/favicon.ico"));
}

  【4】qmake->构建->运行结果

4 菜单栏图标设置

    QMenuBar *menuBar = this->menuBar();  // 创建一个菜单栏QMenu *fileMenu = menuBar->addMenu("FILE"); // 创建一个菜单QAction *openAction = fileMenu->addAction("OPEN"); // 创建一个动作QIcon openIcon(":/open.png"); // 假设你有一个名为"open.png"的图标文件在资源文件中openAction->setIcon(openIcon);  // 设置图标

 

5 工具栏图标设置

    QToolButton *button = new QToolButton();button->setText("LOAD");QToolBar *toolBar = addToolBar("toolBar");toolBar->addWidget(button);QPixmap pixmap(":/load.png"); // 假设你有一个名为"load.png"的图标文件在资源文件中// QIcon barLoad(":/load.png");// 或者使用iconbutton->setIcon(pixmap);button->setToolButtonStyle(Qt::ToolButtonTextUnderIcon); // 设置文字在图标下方,也可旁边//button->setIconSize(QSize(64, 64));

 5 状态栏图标设置

    QIcon iconOpenFile(":/open.png");  // 假设你有一个名为"open.png"的图标文件在资源文件中QStatusBar *sBar = statusBar();   //状态栏QLabel *iconLabel = new QLabel(this);iconLabel->setText("Normal text file");// 设置提示文本iconLabel->setPixmap(iconOpenFile.pixmap(QSize(32, 32)));//设置图标大小QLabel *textLabel = new QLabel(this);textLabel->setText("Normal text file");sBar->addWidget(iconLabel); // 添加图标到状态栏sBar->addWidget(textLabel);//文本添加状态栏sBar->addWidget(new QLabel("2", this));  //addWidget 从左往右添加sBar->addPermanentWidget(new QLabel("3", this));  // addPermanentWidget 从右往左添加

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/573228.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2014年认证杯SPSSPRO杯数学建模C题(第一阶段)土地储备方案的风险评估全过程文档及程序

2014年认证杯SPSSPRO杯数学建模 C题 土地储备方案的风险评估 原题再现: 土地储备,是指市、县人民政府国土资源管理部门为实现调控土地市场、促进土地资源合理利用目标,依法取得土地,进行前期开发、储存以备供应土地的行为。土地…

c++|STL简介+string类的使用(常用接口)

目录 一、STL简介 1.1STL的版本 1.2STL六大组件 1.3STL的重要性及缺陷 二、string类简介 2.1string类了解 2.2为什么学习string类 三、string类使用(常用接口) 3.1string类的成员函数 3.1.1构造函数 3.1.2析构函数 3.1.3“”运算符重载函数 3.2迭代器(iterator)s…

http认证

1.Digest认证 各字段含义: Nonce 服务器直接返回的数据 H1MD5(user”:”realmpassword) H2MD5(method”:”url) method为请求类型、url不包括域名 Nc 指当前的第几次请求,使用8位16进制显示 Cnonce 8位随机字符串 ResponseMD5(H1”:”nonce”:”…

机器学习 | 期望最大化(EM)算法介绍和实现

在现实世界的机器学习应用中,通常有许多相关的特征,但只有其中的一个子集是可观察的。当处理有时可观察而有时不可观察的变量时,确实可以利用该变量可见或可观察的实例,以便学习和预测不可观察的实例。这种方法通常被称为处理缺失…

[串联] MySQL 存储原理 B+树

InnoDB 是一种兼顾高可靠性和高性能的通用存储引擎,在 MySQL 5.5 之后,InnoDB 是默认的 MySQL 存储引擎。 InnoDB 对每张表在磁盘中的存储以 xxx.ibd 后缀结尾,innoDB 引擎的每张表都会对应这样一个表空间文件,用来存储该表的表结…

【Postman如何进行接口测试简单详细操作实例】

1、下载Postman postman下载地址:Download Postman | Get Started for Free 2、安装Postman (1)双击下载好的postman-setup.exe文件,进行安装postman工具 (2)安装完成后,在桌面找到并打开postman软件,输入邮箱和密码进行登录&a…

(七)图像的均值滤波

环境:Windows10专业版 IDEA2021.2.3 jdk11.0.1 OpenCV-460.jar 系列文章: (一)PythonGDAL实现BSQ,BIP,BIL格式的相互转换 (二)BSQ,BIL,BIP存储格式的相互转换算法 (三…

WIFI驱动移植实验:将 rtl8188EUS驱动添加到 Linux 内核中

一. 简介 正点原子的 I.MX6U-ALPHA 开发板目前支持两种接口的 WIFI : USB 和 SDIO ,其中 USB接口的WIFI 使用使用的芯片为 RTL8188EUS 或 RTL8188CUS , SDIO 接口的 WIFI 使用芯片为 RTL8189FS ,也叫做 RTL8189FT…

【保姆级讲解如何Chrome安装Vue-devtools的操作】

🌈个人主页:程序员不想敲代码啊🌈 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家🏆 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提…

下拉选中搜索angularjs-dropdown-multiselect.js

需要引入angularjs-dropdown-multiselect.js 页面 <div ng-dropdown-multiselect"" options"supplierList_data" selected-model"supplierList_select" events"changSelValue_supplierList" extra-settings"mucommonsetti…

鸿蒙HarmonyOS应用开发之Node-API常见问题

ArkTS/JS侧import xxx from libxxx.so后&#xff0c;使用xxx报错显示undefined/not callable 排查.cpp文件在注册模块时的模块名称与so的名称匹配一致。 如模块名为entry&#xff0c;则so的名字为libentry.so&#xff0c;napi_module中nm_modname字段应为entry&#xff0c;大小…

【Linux】网络基础1

欢迎来到Cefler的博客&#x1f601; &#x1f54c;博客主页&#xff1a;折纸花满衣 &#x1f3e0;个人专栏&#xff1a;题目解析 目录 &#x1f449;&#x1f3fb;一些常见网络设备&#x1f449;&#x1f3fb;网络协议(栈)&#x1f449;&#x1f3fb;协议分层OSI参考模型每个层…