当前位置: 首页 > news >正文

QT6软件设置图标方法

一.设置窗口图标(标题栏左上角图标)

方法一:

1.准备图标文件(推荐 PNG 或 ICO 格式,含透明通道)。

.ico格式(Windows平台)

.png格式(跨平台,Qt会自动处理)

  说明:QIcon 会自动适配不同尺寸的显示需求(如标题栏小图标、任务栏中等图标),建议提供多尺寸图标(如 16x16、32x32、48x48)。

  

2.新建资源文件

在Qt Creator中,右键点击项目

选择"Add New..."

选择"Qt" -> "Qt Resource File"

命名资源文件(如resources.qrc)

3.添加图标到资源文件

打开创建的.qrc文件

点击"Add" -> "Add Prefix",可以修改前缀(如/icons)

点击"Add" -> "Add Files",选择你的图标文件

4.在代码中设置:

#include <QApplication>

#include <QMainWindow>

#include <QIcon>

int main(int argc, char *argv[]) {

    QApplication app(argc, argv);

    

    QMainWindow mainWindow;

    // 设置窗口图标(使用资源文件中的图标)

    mainWindow.setWindowIcon(QIcon(":/icons/app_icon.png"));  // 路径需与资源文件一致

    

    mainWindow.setWindowTitle("Qt应用");

    mainWindow.show();

    

    return app.exec();

}

方法二:使用外部文件路径

1.如果你不想使用资源文件,也可以直接使用文件系统路径:

#include <QApplication>

#include <QMainWindow>

#include <QIcon>

#include <QDir>

int main(int argc, char *argv[])

{

    QApplication app(argc, argv);

    

    QMainWindow window;

    window.setWindowTitle("Qt6 Window Icon Example");

    

    // 设置窗口图标 - 使用绝对路径

    window.setWindowIcon(QIcon("C:/path/to/your/icon.png"));

    

    // 或者使用相对路径(相对于可执行文件位置)

    window.setWindowIcon(QIcon("images/app_icon.png"));

    

    window.resize(400, 300);

    window.show();

    

    return app.exec();

}

二.设置应用程序图标(可执行文件图标)

1.准备图标文件

Windows: 使用.ico格式,包含多个尺寸(16x16, 32x32, 48x48, 64x64, 128x128, 256x256)

可以使用在线工具如ICONVERT将PNG图像转换为多尺寸ICO文件。

2. Windows 平台(.exe 图标)

步骤 1:创建图标文件 app_icon.ico(需包含多种尺寸,如 16x16 到 256x256)。

步骤 2:创建资源文件 app.rc(文本文件),内容如下:

        IDI_ICON1 ICON DISCARDABLE "app_icon.ico"  // 关联图标文件

步骤 3:在 .pro 文件中添加资源文件:

        RC_FILE = ./icon/app.rc     // 编译时会将图标嵌入.exe

        说明:根目录为pro文件目录

3.编译后 .exe 文件会显示设置的图标。

http://www.dtcms.com/a/350773.html

相关文章:

  • Chrome插件开发:在网页上运行脚本
  • 6种简单方法将大视频从iPhone传输到PC
  • 音频相关数学支持
  • C++ 类型转换深度解析
  • 【应急响应工具教程】Unix/Linux 轻量级工具集Busybox
  • 为什么软解码依然重要?深入理解视频播放与开发应用(视频解码)
  • STM32F103C8T6引脚分布
  • 1. 并发产生背景 并发解决原理
  • 【JavaEE】文件IO操作
  • MyBatis 从入门到精通:一篇就够的实战指南(Java)
  • 最大子数组和【栈和分治两种思路】
  • Linux简明教程01 基础运维
  • C标准库 ---- locale.h
  • Escrcpy 3.0投屏控制软件使用教程:无线/有线连接+虚拟显示功能详解
  • 什么是生命体AI
  • TCP和UDP的使用场景
  • 【系统分析师】高分论文:论软件需求验证方法及应用
  • 用蒙特卡洛法求解三门问题和Π
  • day20 二叉树part7
  • 20.14 QLoRA微调Whisper-Large-v2终极指南:3倍速训练+显存直降68%调参秘籍
  • CVPR 2025端到端自动驾驶新进展:截断扩散模型+历史轨迹预测实现精准规划
  • 【工具安装使用-Jetson】Jetson Orin Nano 刷机和踩坑总结
  • 如何在IDEA中使用Git
  • 【嵌入式电机控制#进阶4】无感控制(二):观测器导论锁相环(全网最通俗易懂)
  • WAS/WDF资源文件工具
  • C :结构体对齐
  • vue+vite打包后的文件希望放在一个子目录下
  • Python 并发编程全面指南(多线程 多进程 进程池 线程池 协程和异步编程) 队列
  • 【leetcode】82. 删除排序链表中的重复元素(二)
  • 微算法科技(NASDAQ:MLGO)使用预测分析动态调整区块大小,构建可持续的区块链网络