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

个人网站建设规划表深圳营销网站设计

个人网站建设规划表,深圳营销网站设计,wordpress添加动漫人物,ueditor wordpress html被转义最近在做项目时#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/71005.html

相关文章:

  • 网站排名网络推广做金融资讯用什么网站程序
  • 厦门开发网站公司那个软件可以做三个视频网站
  • 深圳住房和建设局网站预约网站开发的pc或移动端
  • 通城做网站的网站构建的基本流程
  • 网站 建设设计新手怎么从1688拿货
  • 上海物流公司网站建设建设网站包括哪些费用
  • 网站制作维护费 归属南昌做seo的公司有哪些
  • 一个公司网站备案吗网站建站售后服务
  • 成华区微信网站建设公龙岗网站制作
  • 国内贸易在那个网站上做凡客建站免费的可以用多久
  • 网站手机客户端如何开发佛山网站建设公司怎么选
  • 建一个网站的手机电脑网站收录查询网
  • 自己做的网站 怎么在网上销售wordpress生成缩略图
  • 做明信片的网站学校做网站的软件
  • 建站优化办事效率高wordpress uedito
  • primefaces做网站小程序是什么
  • 营销型网站建设 高校邦中企建网站
  • 网站域名放国外建设人才网站
  • 公司不需要做网站了企业培训心得体会
  • 网站建设需求调研问卷什么网站可以查房屋建筑面积
  • 建立网站一般那些阶段建设网站有哪些目的
  • 网站上线备案o2o的含义
  • 小语种外贸网站建设个人养老保险怎么买最划算
  • 网站关键字可以修改吗上海网站建设加q.479185700
  • 响应式网站设计的规范网页打不开怎么解决方法
  • 域名被墙检测网站技术类网站模板
  • 做网站需要交维护费么卖货到海外的免费平台
  • 企业网站无线端怎么做北京网站制作飞沐
  • 北京网站设计公司yy成都柚米科技15wordpress 去掉底部
  • 保定网站建设技术支持白山住房与城乡建设局网站