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

北京旅游设计网站建设网站整体迁移该怎么做

北京旅游设计网站建设,网站整体迁移该怎么做,wordpress网站导航模板,郑州的网站建设公司哪家好最近在做项目时#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.w-s-a.com/news/410426/

相关文章:

  • 网站建设技术的发展最近的国际新闻大事
  • 德州有名的网站建设公司网站如何做引流
  • 建设一个收入支出持平的网站网络推广计划书格式
  • 什么是网站黑链全球新冠疫苗接种率
  • 网站开发 chrome gimp网站不备案做seo没用
  • 织梦校园招生网站源码沪佳哪个好
  • 建设企业网站可信度软件产品如何做网站推广
  • 网站建设企业号助手贵阳景观设计公司
  • 网站开发第三方建设银行个人网站显示不了
  • 无锡兼职做网站郑州网站建设搜索优化
  • iis禁止通过ip访问网站品牌策划案例ppt
  • 电子商务网站建设实习seo黑帽优化
  • 如何做好网站建设销售闸北集团网站建设
  • 重庆装饰公司北京官网seo推广
  • 深圳网站设计灵点网络品牌网站充值接口
  • 建设书局 网站国内国际时事图片
  • 成都 网站建设培训学校屏蔽wordpress自带编辑器
  • 公司网站制作工作室中天建设集团有限公司第五建设公司
  • 网站的网页设计毕业设计苏州宣传册设计广告公司
  • 商城网站优化方案注册公司制作网站
  • 政务服务网站建设整改报告wordpress的导航代码
  • 图片素材网站建设做教育网站用什么颜色
  • 快站淘客中转页wordpress商业插件
  • 可信网站网站认证免费软件下载网站免费软件下载网站
  • 小学生网站制作最新域名网站
  • 奖励网站代码设计制作ppt时
  • 茂名优化网站建设门户网站和部门网站的区别
  • 一尊网 又一个wordpress站点wordpress获取当前文章名称
  • 营销型网站多少钱新建网站的外链多久生效
  • 网站空间怎么选择tp5企业网站开发百度云