一、利用字符映射表segmdl2.ttf,窗体显示字符图片。

在win10里面搜“字符映射表”,选择字体segmdl2.ttf,查看图标对应得16进制值。把此字体拷贝到程序的目录下。

二、使用

#ifndef FONTICONS_H
#define FONTICONS_H

#include <QFont>
#include <QObject>
//字符映射表 segmdl2.ttf
class FontIcons
{

public:
    enum IconsId{
        ICONS_SCAN=0xE294,
        ICONS_BROWSE=0xE7C5,
        ICONS_IMAGE_ACQ=0xE722,
        ICONS_PARAM_SET=0xE713,
        ICONS_PREVIEW_IMAGE=0xE7B3,
        ICONS_EXIT_APP=0xE8BB,
        ICONS_MODIFY=0xE104,
        ICONS_CONFIRM_MODIFY=0xE0E7,
        ICONS_LEFT_ARROW=0xF744,
        ICONS_RIGHT_ARROW=0xF745,
        ICONS_ABOUT_APP=0xE19F,
        ICONS_EXIT_PALLET=0xE176,//退出托盘
        ICONS_MANGNIFY=0xE8A3,
    };
    static FontIcons *getInstance();
    void init();
    void setFontSize(int size);
    QFont getFont();
    QChar getIconChar(FontIcons::IconsId code);
    QString getIconText(FontIcons::IconsId code,QString text);

private:
    FontIcons();
    static FontIcons* instance_;
    QFont font_;
    int  fontSize_;

};

#endif // FONTICONS_H
#include "fonticons.h"
#include <QFontDatabase>
#include <QDebug>
FontIcons* FontIcons::instance_ = new FontIcons;
FontIcons::FontIcons()
{

}
FontIcons* FontIcons::getInstance()
{
    return instance_;
}

void FontIcons::init()
{
   int fontId = QFontDatabase::addApplicationFont(":/three_parts/Fonts/segmdl2.ttf");
   QStringList fontFamilies = QFontDatabase::applicationFontFamilies(fontId);
   font_.setFamily(fontFamilies.at());

}

void FontIcons::setFontSize(int size)
{
    font_.setPointSize(size);
}

QFont FontIcons::getFont()
{
    return font_;
}

QChar FontIcons::getIconChar(FontIcons::IconsId code)
{
    return QChar((int)code);
}

QString FontIcons::getIconText(FontIcons::IconsId code, QString text)
{
     QString txt = QString("%1%2").arg(getIconChar(code)).arg(text);
     return txt;
}

应用:

QPushButton *btnNavExitApp=new QPushButton(this);
FontIcons *fontIcons=FontIcons::getInstance();
fontIcons->init();
fontIcons->setFontSize();
btnNavExitApp->setText(fontIcons->getIconText(FontIcons::ICONS_EXIT_APP,QString::fromLocal8Bit(" 退出应用")));

Qt 字符映射表 显示图标的更多相关文章

  1. windows操作系统记事本保存操作时间、字符映射表的打开、步骤记录器使用

    记事本自动记录修改时间 你有用记事本记账或写日记的习惯吗?其实在记事本的文档开头输入".LOG"(无引号,字母为大写),之后记录内容并保存,这样以后打开就会看到之前每次修改的时间了 ...

  2. [转]SSIS数据转换组件_派生列、审核、字符映射转换和条件性拆分转换

    本文转自:http://www.cnblogs.com/gudujianxiao/archive/2012/04/14/2446925.html 一 派生列 派生列转换通过对输入列进行类型转换或应用表 ...

  3. 【转】发布的QT程序无法显示图标和图片的问题

    在windows下编译好的QT程序在其他没有安装QT的机器上会出现图标和图片无法正常显示的问题. 这时我们可以通过以下方式来解决: 在release文件夹里创建plugins文件夹,并将QT安装目录下 ...

  4. Qt 按键键值 与 相关字符串 的映射表(转)

    Qt快捷键 映射     "Esc",/*Qt::Key_Escape 0x01000000 */ "Tab",/*Qt::Key_Tab 0x01000001 ...

  5. 【转】Android-Input 按键字符映射文件&输入设备配置文件

    https://source.android.com/devices/input/key-character-map-files 按键字符映射文件 按键字符映射文件(.kcm 文件)负责将 Andro ...

  6. 【Qt开发】【ARM-Linux开发】 QT在ARM上显示字体的问题

    在PC机上利用QT开发的应用程序在设置字体时,在PC上运行,可根据自己的设置,字体随之变大或变小.而移植到ARM上运行时发现,显示字体与所设置的字体不用,字体普遍偏小.经过上网搜索发现,是环境变量字库 ...

  7. html小知识点汇总(浏览器导航上显示图标、div无高度时试着清除浮动、文字环绕图片、字体加粗、div按百分比分、已有的不合适的class,针对特定的标签进行修改)

    1.新点击的网页,在浏览器导航上显示图标: 像这种效果: <head> <meta charset="UTF-8"> <meta name=" ...

  8. 在ListActivity中显示图标

    在ListActivity中显示图标,好像并不复杂,实现起来却不轻松. 首先,定义列表中的每一行,这里不是用xml文件定义,而是用一个类定义,CheckBox.ImageView.TextView等控 ...

  9. echarts之字符云tooltip显示混乱问题的解决办法

    echarts字符云中tooltip显示混乱主要表现为一下两点: 1.字体与其显示框内容不对应鼠标识别错误 解决思路: 就是option里的数据要对value降序排序(这一点很关键,是必须的一步) 把 ...

随机推荐

  1. shell实现并发控制

    需求:并发检测1000台web服务器状态(或者并发为1000台web服务器分发文件等)如何用shell实现?                                              ...

  2. linux基础_使用指令2

    1.cat指令 功能:查看文件内容,是以只读的方式打开. 语法:cat [] 要查看的文件 选项: -n:显示行号 末尾加 | more:分页 使用细节: cat只能浏览文件,而不能修改文件,为了浏览 ...

  3. NMI是什么

    NMI是什么 2016/02/28 vmunix NMI(non-maskable interrupt),就是不可屏蔽的中断.根据Intel的Software Developer手册Volume 3, ...

  4. Redis五种数据结构(二)

    Redis数据结构 Redis数据结构介绍 Redis是一种高级的key-value的存储系统,其中value支持五种数据类型. 字符串(String) 哈希(hash) 字符串列表(list) 字符 ...

  5. metal2 里 programmable blending 和image block的区别 语法以及persistent thread group的语法

    programmable blending 刚接触这个概念的时候 挺激动的 因为能解决很多管线里面的问题 比如 切一次rt再切回来 为了做read write same rt 有了这个 就不用切啦 可 ...

  6. UUID值

    生成这种值:b28043c8-fdb7-4c9e-8df5-b869d38f829d

  7. 让你的python代码优雅地道的小技巧

    转载地址:http://www.lightxue.com/transforming-code-into-beautiful-idiomatic-python 用了python这么久,逐渐才了解到pyt ...

  8. [转]Normal Map中的值, Tangent Space, 求算 Tangent 与 Binormal 与 TBN Matrix

    原文出处 https://www.cnblogs.com/lookof/p/3509970.html - Normal Map中的值 -   有没有想过,Normal Map(法线贴图)为什么看上去都 ...

  9. BZOJ1101——莫比乌斯函数&&入门

    题目 链接 有$50000$次查询,对于给定的整数$a,b$和$d$,有多少正整数对$x$和$y$,满足$x \leq a$,$y \leq b$,并且$gcd(x, y)=d$.$1 \leq k ...

  10. vue 日期格式化过滤器

    formateDate日期格式化,写在公共的js中: export function formateDate(date, fmt){ if ('/(y+)/'.test(fmt){ fmt = fmt ...