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

六安在建项目和拟建项目医疗类网站还有做seo

六安在建项目和拟建项目,医疗类网站还有做seo,台海最新24小时消息,海南行指三亚网站开发最近在做项目时#xff0c;遇到需要显示一些特殊字符的需求#xff0c;这些特殊字符无法从键盘敲出来#xff0c;于是乎#xff0c;发现可以从字体库文件ttf中读取显示。 参考博客#xff1a;QT 图标字体类IconHelper封装支持Font Awesome 5-CSDN博客 该博客封装的很不错…最近在做项目时遇到需要显示一些特殊字符的需求这些特殊字符无法从键盘敲出来于是乎发现可以从字体库文件ttf中读取显示。 参考博客QT 图标字体类IconHelper封装支持Font Awesome 5-CSDN博客 该博客封装的很不错值得一看 一、下载ttf文件 Font Awesome一套绝佳的图标字体库和CSS框架 解压出来后通过如下网站可以在线查看键值对照关系 Iconfont Previewiconfont preview for web, Momos Blog, LuckyMomohttps://blog.luckly-mjw.cn/tool-show/iconfont-preview/index.html很好玩的一个网站! 就可以看到该字体库解析出来的很多图标了。 这里请看图片中红色圆圈全中的 bug 图标如果需要读取他那么请记住他的编码#xf188 注意在代码中我们用的是16进制方式即0xf188 在windows环境右键字体选择预览即可看到字体名称 字体名称 和 字体文件名 是必须要知道的 二、编码 1.初始化字体后就可以使用这个字体了 QFontDatabase::addApplicationFont(字体文件名); // fontawesome-webfont.ttf QFont iconFont QFont(字体名称); // FontAwesome 2.从字体库中获取图标返回QPixmap QPixmap IconHelper::getPixmap(const QColor color, const QChar str,quint32 size, quint32 pixWidth, quint32 pixHeight, int flags) {QPixmap pix(pixWidth, pixHeight);pix.fill(Qt::transparent);QPainter painter;painter.begin(pix);painter.setRenderHints(QPainter::Antialiasing | QPainter::TextAntialiasing);painter.setPen(color);iconFont.setPixelSize(size);painter.setFont(iconFont);painter.drawText(pix.rect(), flags, str);painter.end();return pix; } 如果想要QImage或者需要将图标保存为本地图片则将QPixmap转为QImage后再保存本地即可。 IconHelper iconHelper(FontAwesome, fontawesome-webfont.ttf); QPixmap pixmap iconHelper.getPixmap(QColor(0, 0, 0), QChar(0xf188), 300, 300, 300); QImage iamge pixmap.toImage(); // 转为 QImage iamge.save(文件路径/文件名字.png); // 保存为本地图片 3.可以直接给部件设置背景图 void IconHelper::setIcon(QLabel *lab, const QChar str, quint32 size) {iconFont.setPixelSize(size);lab-setFont(iconFont);lab-setText(str); } 4.测试1给按钮设置背景图标为篮球图标编码为 0xf17d int size 100; int width 100; int height 100; IconHelper iconHelper(FontAwesome, fontawesome-webfont.ttf); QWidget *w new QWidget; w-setFixedSize(width*3, height*3); QPushButton *btn new QPushButton(w); btn-setFixedSize(width, height); iconHelper.setIcon(btn, QChar(0xf17d), size); QHBoxLayout *hLayout new QHBoxLayout(w); hLayout-addWidget(btn); w-setLayout(hLayout); w-show(); 5.测试2给QLabel设置背景图标为虫子图标编码为 0xf188 int size 300; int width 300; int height 300; IconHelper iconHelper(FontAwesome, fontawesome-webfont.ttf); QPixmap p iconHelper.getPixmap(QColor(0, 0, 0), QChar(0xf188), size, width, height); QWidget *w new QWidget; w-setFixedSize(p.size()); QLabel label(w); label.setFixedSize(p.size()); label.setPixmap(p); QHBoxLayout *hLayout new QHBoxLayout(w); hLayout-addWidget(label); w-setLayout(hLayout); w-show(); 三、代码汇总 iconhelper.h #ifndef ICONHELPER_H #define ICONHELPER_H#include QtCore #include QtGui #if (QT_VERSION QT_VERSION_CHECK(5,0,0))#include QtWidgets #endif//图形字体处理类 class IconHelper : public QObject {Q_OBJECTpublic:explicit IconHelper(QString fontName, QString fontFileName, QObject *parent nullptr);~IconHelper() override;void setIcon(QLabel *lab, const QChar str, quint32 size 12);void setIcon(QPushButton *btn, const QChar str, quint32 size 12);QPixmap getPixmap(const QColor color, const QChar str, quint32 size 12,quint32 pixWidth 15, quint32 pixHeight 15, int flags Qt::AlignCenter);private:QFont iconFont; // 图形字体 }; #endif // ICONHELPER_H iconhelper.cpp #include iconhelper.hIconHelper::IconHelper(QString fontName, QString fontFileName, QObject *parent) : QObject(parent) {// 判断图形字体是否存在,不存在则加入QFontDatabase fontDb;if (!fontDb.families().contains(fontName)) {// 从资源文件中读取ttf文件int fontId QFontDatabase::addApplicationFont(QString(:/image/%1).arg(fontFileName));QStringList fontName QFontDatabase::applicationFontFamilies(fontId);if (0 fontName.count()) {qDebug() QString(load fontFileName error).arg(fontFileName);}}if (fontDb.families().contains(fontName)) {iconFont QFont(fontName); #if (QT_VERSION QT_VERSION_CHECK(4, 8, 0))iconFont.setHintingPreference(QFont::PreferNoHinting); #endif} else { // 容错处理如果字体加载失败则使用默认字体QFont f;iconFont f;} }IconHelper::~IconHelper() {}void IconHelper::setIcon(QLabel *lab, const QChar str, quint32 size) {iconFont.setPixelSize(size);lab-setFont(iconFont);lab-setText(str); }void IconHelper::setIcon(QPushButton *btn, const QChar str, quint32 size) {iconFont.setPixelSize(size);btn-setFont(iconFont);btn-setText(str); }QPixmap IconHelper::getPixmap(const QColor color, const QChar str,quint32 size, quint32 pixWidth, quint32 pixHeight, int flags) {QPixmap pix(pixWidth, pixHeight);pix.fill(Qt::transparent);QPainter painter;painter.begin(pix);painter.setRenderHints(QPainter::Antialiasing | QPainter::TextAntialiasing);painter.setPen(color);iconFont.setPixelSize(size);painter.setFont(iconFont);painter.drawText(pix.rect(), flags, str);painter.end();return pix; } 当根据大小获取到图标QPixmap后就可以根据具体需要添加到相应的部件进行显示了 完
http://www.dnsts.com.cn/news/221571.html

相关文章:

  • 东莞招聘网站数据库支持的网站怎么做
  • 南宁网站建设lilkj刷网站seo排名软件
  • 建设网站内容百度网页怎么设置青少年模式
  • 云课堂哪个网站做的好环境设计网站推荐
  • 大型网站开发php框架wordpress 仿手机商城模板
  • 网上注册网站要钱吗台州电子商务网站建设
  • wordpress数据库改密码忘记网站seo优化查询
  • php做网站开源项目济南网站建设内容设计
  • 成都建站模板网站开发织梦高清电影网站模板
  • 网站个人备案类型个人做当地旅游网站
  • 网站中国风模板电子版简历word格式
  • 如何部署asp网站惠州seo整站优化
  • 如何建设网站安全管理制度昆山注册公司流程费用
  • 镇江网站优化哪家好跨境电商建站
  • 国外网页游戏网站网站目标定位概念
  • 四川建设厅官方网站证书查询官方网下载app下载
  • 如何提升网站转化率英文网站建设注意事项
  • 网站做到赣州第一名要多少钱wordpress 正在执行例行维护
  • 蒙自网站开发马拉松网站建设方案
  • 高密做网站哪家好价位杨浦网站建设
  • 苏州建设工程合同备案网站wordpress dux1.4
  • 建设网站的基本技术免费浏览外国网站的软件
  • 云主机是不是可以搭建无数个网站宁波建设网站哪家好
  • 手机网站后台管理系统计算机专业学什么
  • 国内外网站开发的现状全flash网站
  • 网站开发注意问题南京自媒体公司
  • 广东官网网站建设企业品牌价值
  • 三亚专业做网站企业管理网课
  • 网站开发费属于软件费吗网站开发报价表格
  • 网站建设与案例管理的心得体会企业咨询管理培训公司