QT美化使用字体图标

2023-11-03

准备字体图标资源

fontawesome下载地址
解压得到文件如下
在这里插入图片描述

建立QT工程

使用qtcreator创建mainwindow工程

工程增加字体图标资源文件

.pro文件中增加内容如下:

RESOURCES += \
    resource/resource.qrc

那么在工程目录下建立

#建立resource目录
mkdir -p resource
mkdir -p resource/ico_ttf
#建立qrc文件
touch resource/resource.qrc

编辑resource.qrc文件

<RCC>
    <qresource prefix="/resource_file"/>
    <qresource prefix="/">
        <file>ico_ttf/fontawesome-webfont.ttf</file>
    </qresource>
</RCC>

从下载的fontawesome解压目录中复制fontawesome-webfont.ttfico_ttf目录下

创建一个按钮控件

打开UI设计工具,拖一个PushButton到界面

在mainwindow.cpp中实例化中

/*装载图形字体*/
QFont iconFont;
QFontDatabase fontDb;
if(!fontDb.families().contains("FontAwesome"))
{
    int fontId = fontDb.addApplicationFont(":/ico_ttf/fontawesome-webfont.ttf");
    QStringList fontName = fontDb.applicationFontFamilies(fontId);
    if(fontName.count() == 0)
    {
        qDebug() << "load fontawesome-webfont.ttf error";
    }
}
if(fontDb.families().contains("FontAwesome"))
{
    iconFont = QFont("FontAwesome");
    iconFont.setHintingPreference(QFont::PreferNoHinting);
}
iconFont.setPixelSize(14);

设置按钮字体
找到想要设置的字体
在这里插入图片描述
复制名称fa-file-textfont-awesome.css中查找
在这里插入图片描述

QString ico_text = QString("%1%2").arg(QChar(0xf15c)).arg(" 文件");
ui->pushButton->setFont(iconFont);
ui->pushButton->setText(ico_text);

运行效果

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QT美化使用字体图标 的相关文章

  • 来自另一个类的 Qt C++ GUI 调用

    我通过 gui 拖放创建了一个按钮和一个文本浏览器 UI 以及单击按钮功能是在 mainwindow cpp 中创建的 有一个 main cpp 但这是无关紧要的 因为在单击开始按钮之前程序不会启动 include mainwindow h
  • 为什么总是在 mouseDoubleClickEvent 之前调用 mousePressEvent

    请考虑以下代码 include
  • 使用 Qt 的网络服务

    我正在寻找使用 Qt 服务器端 实现 Web 服务的代码 如果您有任何信息 我将不胜感激 Regards 您可以使用libqxt http libqxt bitbucket org doc 0 6 qxtweb html实现服务器端Web服
  • 常量类成员、赋值运算符和 QList

    请确认我是否正确并告诉我是否有更好的解决方案 我了解具有常量成员的对象 例如int const width 无法由编译器隐式创建的合成赋值运算符处理 但是 QList 我想 std list 也是如此 需要一个有效的赋值运算符 因此 当我想
  • 使用嵌入qt的mysql?

    我正在尝试使用嵌入 QT 的 mysql 我已经有一个与 mysqld 链接的 Qt mysql 插件 该插件可以很好地加载嵌入式数据库 但 QT 没有简单的方法来设置 dataDir 等嵌入式选项 我在这里看到 http doc qt i
  • 扩展 TabViewStyle styleData

    我目前正在尝试找到一种更好的方法来执行此操作 将图标添加到选项卡 现在 我正在放弃 styleData title 以包含图标源 但如果能够扩展 styleData 就更好了 这样我就可以包含其他自定义属性 这是我当前的黑客 Tab tit
  • 面向 Delphi 开发人员的 Qt

    有人知道为 Delphi C Builder VCL 开发人员解释 Qt 的书籍或教程吗 对于具有该背景的开发人员来说 学习 Qt 的最佳方法是什么 我对如何使用 Qt 完成我知道如何在 Delphi 中完成的事情特别感兴趣 例如 Qt 相
  • 包含 Qt 标头的正确方法是什么?

    到目前为止我知道几种方法 includeQt 类 include
  • 如何将flex和bison与Qt项目集成?

    我正在 git 源代码控制下使用 Qt4 制作 GUI 程序 Github页面 https github com vinayak garg dic sim 项目的一小部分需要扫描和解析 所以我想在项目中使用flex和bison 我能想到3种
  • 如何在不同的QT线程中创建一个窗口?

    我有一个应用程序 其中每个线程 主线程除外 都需要创建自己的窗口 我尝试创建一个线程然后调用this gt exec in the run功能 然而 在我接到那个电话之前我就收到了一个错误 ASSERT failure in QWidget
  • QT C++ QRegularExpression 多个匹配

    我想使用正则表达式从 QString html 中提取信息 我明确想使用正则表达式 无解析器解决方案 和类Q正则表达式 http qt project org doc qt 5 0 qtcore qregularexpression htm
  • 在 Windows 上以 QML 播放 RTSP 视频

    我正在尝试将 QML 中的 RTSP 流播放到视频标签中 如下所示 Repeater model 8 Video Layout fillWidth true Layout fillHeight true fillMode VideoOutp
  • 如何使用bind将成员函数作为函数指针传递?

    我试图将成员函数作为函数指针传递 这样我就不需要依赖单例或全局函数来处理 Qt 5 中的 Qt 消息 据我所知 我的 std function 是正确的类型 它具有正确的签名 并且绑定应该允许我插入隐式this指针 本质上是将成员函数传递为
  • 当给定 100k 项时,QListView 需要很长时间才能更新

    我在读取文件时遇到问题 具体是我想制作一本小字典 在我需要阅读的文件中有这样的内容 a Ph P6 a snsr CA a b c fb Dj a b c book i BS A except B gate oOPa y a font kQ
  • 构建qt程序时未定义的符号:找不到qt_version_tag

    我正在学习Qt5 6 我正在使用 Ubuntu 14 4 当我链接我的程序时 出现以下错误 undefined reference to qt version tag 在 CMakeLists txt 中 link libraries Qt
  • 如何从键盘为 QTableWidget 创建信号?

    我有一张桌子 可以通过左 右 上 下按钮在里面移动 现在 当我停留在某个单元格并按空格键时 我需要创建一个信号 该信号还应该带来该单元格的坐标 我尝试使用 QTableWidget 的标准信号 但它不起作用 我该如何解决这个问题 创建一个单
  • 更改 Qt 中的语言环境

    我尝试使用 QLocale 和 setDefault 函数更改区域设置 但似乎不起作用 以下是使用 C 本地化库和 QLocale 更改语言环境的示例 对于 C 本地化库 它似乎可以工作 但对于 QLocale setDefault 函数调
  • QtWebEngine Quicknano 在嵌入式 Linux 中没有声音

    我已将 QtWebEngine 编译到我的 i MX6 嵌入式设备中 当我尝试使用 Quicknanobrowser 播放 YouTube 视频时 视频会播放 但没有声音 事实上 当我尝试播放音频文件时没有声音hpr dogphilosop
  • 如何在Qt中更快地读取数据?

    Qt读取数据库比C 慢吗 我想我错过了一些东西 为了比较阅读速度 我在 Qt 中编写了以下内容 QElapsedTimer t t start int count 0 QString cs Driver SQL Server Server
  • 如何从 ffmpeg 中打开的文件获取流信息?

    我正在尝试使用 ffmpeg 读取视频文件 我有与其旧版本相对应的工作代码 并开始尝试升级到最新的构建版本 将所有这些已弃用的函数替换为其实际的类似函数 但是我遇到了问题 似乎没有检索到任何流 并且视频负载停止在轨道中 这是我正在使用的代码

随机推荐

  • SVN 提交操作

    在上一章中 我们检出了版本库runoob01 对应的目录放在 home user01 runoob01中 下面我们针对这个库进行版本控制 我们在库本版中需要增加一个readme的说明文件 root runoob svn runoob01 t
  • Quartz框架支持分布式任务处理

    一 问题分析 对于单机的任务调度 使用Quartz十分方便 但是在分布式情况下 对于集群中每台机器都会执行任务 从而造成了重复执行任务的问题 二 解决思路 Quart不仅支持单机任务调度 同时也支持集群中的任务调度 原理如下 在集群中 各个
  • 虚拟化(KVM)介绍以及网卡配置

    虚拟化 KVM 虚拟化介绍 VMware Workstation就是虚拟化 虚拟化简单讲 就是把一台物理计算机虚拟成多台逻辑计算机 每个逻辑计算机里面可以运行不同的操作系统 相互不受影响 这样就可以充分利用硬件资源 关键词Hyperviso
  • 需要打开多少监视器

    import java util Scanner public class B 1 public static int directions 1 0 1 0 0 1 0 1 四行两列 public static void main Stri
  • 汽车行业数据备份有必要吗?

    随着电气化 智能化 网联化和数字化的突破性发展 汽车产业供应链进一步重新构筑 更多科技型企业 汽车供应商以不同形式加入到整车领域 促使中国汽车产业发展进入崭新阶段 在疫情挑战下逐步实现恢复和增长 在数字化时代的大趋势下 数据安全成为全球企业
  • 什么是过拟合和欠拟合,怎么解决?

    过拟合和欠拟合的解释 欠拟合是指模型在训练集 验证集和测试集上均表现不佳的情况 过拟合是指模型在训练集上表现很好 到了验证和测试阶段就很差 即模型的泛化能力很差 过拟合和欠拟合产生的原因 欠拟合 underfitting 模型复杂度过低 特
  • 青藤放飞“猎鹰”,主动防御又多一张牌

    点击上方关注我们 研习ATT CK 模拟安全攻防大战 这一切只要在牌桌上就能完成 在10月30日举行的青藤新品 全国巡展 北京站 现场 就进行了一场别开生面的青藤 首届ATT CK卡牌争霸赛 将专业的安全知识融入卡牌游戏 这个创意棒棒的 让
  • enumerate的用法

    for i data in enumerate trainloader 0 data里面包含图像数据 inputs tensor类型的 和标签 labels tensor类型 inputs labels data enumerate 用于可
  • L2TP and PPTP共存一键安装

    一 L2TP IPSec vpn一键安装脚本 运行下面的命令 wget no check certificate https raw githubusercontent com teddysun across master l2tp sh
  • 批量执行python程序文件

    如果想执行n个文件 不必一个一个点run 可以把要执行的文件放在同一个文件夹里 然后在一个文件里输入以下脚本即可 import os lst os listdir os getcwd 获取当前目录下所有的文件名 for c in lst i
  • BT656跟BT1120和BT709有什么区别

    如果你认为本系列文章对你有所帮助 请大家有钱的捧个钱场 点击此处赞助 赞助额1元起步 多少随意 锋影 email 174176320 qq com 601是SDTV的数据结构 656是SDTV的interface709是HDTV的数据结构
  • 【OpenGL】笔记五、纹理

    1 流程 1 1 单个纹理 纹理是一个2D图片 甚至也有1D和3D的纹理 它可以用来添加物体的细节 为了能够使用纹理图片 我们需要一个叫做stb image h的头文件库来加载不同格式的图片作为纹理 全部文件 得到该头文件后 加入项目 并且
  • java使用2种方法操作liberoffice把word转pdf,pdf加水印,java远程调用Linux执行命令

    文章目录 libreoffice下载地址 安装 第一种 java调用 第二种 推荐 java调用Linux命令转pdf java远程连接Linux执行命令 少数情况 linux安装windows中文字体解决pdf乱码 pdf加水印 libr
  • Unity基础笔记(2)—— Unity2D及输入系统

    Unity2D及输入系统 Unity2D 部分 一 Unity 2D 介绍 1 游戏中 2D 3D 以及 UI 的概念 先笼统地将整个游戏分为两部分 UI 和游戏内容 UI 即 User Interface 人机交互 操作界面 游戏中一般指
  • 目标检测学习--FPN(特征金字塔网络)-解决多尺度检测问题

    论文地址 Feature Pyramid Networks for Object Detection 深度神经网络学习到的特征中 浅层特征学到的是物理信息 比如物体的角点 边缘的细节信息 而深层特征学到的是语义信息 更加高维与抽象 目标检测
  • vim编辑器显示行号 :set num

    set num
  • python自动化测试写日志self.logname = os.path.join(log_path, '{0}.log'.format(time.strftime('%Y-%m-%d')))

    coding utf 8 import logging import time import os from config import globaVar log path globaVar log path class Log def i
  • IntelliJ IDEA:多开窗口

    参考 https blog csdn net chehec2010 article details 84942967
  • Kubernetes集群——(k8s)service(一)+外部主机访问容器的多种方法+【flannel(vxlan)+calico+host-gw】跨主机通信网络插件

    一 service的简介 1 1Service可以看作是一组提供相同服务的Pod对外的访问接口 借助Service 应 用可以方便地实现服务发现和负载均衡 service默认只支持4层负载均衡能力 没有7层功能 可以通过Ingress实现
  • QT美化使用字体图标

    QT美化使用字体图标 准备字体图标资源 建立QT工程 工程增加字体图标资源文件 创建一个按钮控件 运行效果 准备字体图标资源 fontawesome下载地址 解压得到文件如下 建立QT工程 使用qtcreator创建mainwindow工程