【QT】QFont字体设置

设置字体大小

cpp 复制代码
f.setPointSize(12); // 设置字体大小为12点

设置字体加粗

cpp 复制代码
f.setBold(true); // 使字体加粗

设置字体斜体

cpp 复制代码
f.setItalic(true); // 使字体斜体

设置字体下划线

cpp 复制代码
f.setUnderline(true); // 给字体添加下划线

设置字体删除线

cpp 复制代码
f.setStrikeOut(true); // 给字体添加删除线

示例:创建并应用字体

cpp 复制代码
QFont f;
f.setFamily("Times New Roman"); // 设置字体族
f.setPointSize(12);            // 设置字体大小
f.setBold(true);               // 设置字体为加粗

应用字体到QLabel或其他控件

cpp 复制代码
QLabel *label = new QLabel("Hello, World!");
label->setFont(f);

获取字体宽高

cpp 复制代码
GraphicsSimpleTextItem* textItem = new QGraphicsSimpleTextItem;
QFont font = textItem->font();
font.setPointSize(14);
textItem->setFont(font);

// 获取字体宽高
QFontMetrics metrics(font);
int fontHeight = metrics.height();
int fontWidth = metrics.width(QString::number(0.04 * 100) + "%");
  • 获取宽度函数原型

    cpp 复制代码
    int width(const QString &, int len = -1) const;
    int width(const QString &, int len, int flags) const;
    int width(QChar) const;
相关推荐
许彰午2 小时前
14_Java泛型完全指南
java·windows·python
流星白龙3 小时前
【MySQL高阶】19.变更缓冲区,自适应哈希索引,日志缓冲区
数据库·windows·mysql
ylscode3 小时前
Comodo防火墙曝致命零日漏洞:单个IPv6数据包即可触发Windows蓝屏死机
运维·网络·windows·安全·安全威胁分析
x***r1514 小时前
nvm-windows 安装教程:Node.js 多版本管理(避坑版)
windows·node.js
小欣加油4 小时前
leetcode3751 范围内总波动值I
java·数据结构·c++·算法·leetcode
代码中介商5 小时前
C++左值与右值:核心判断法则详解
开发语言·c++
一个假的前端男5 小时前
windows flutter 适配鸿蒙
windows·flutter·harmonyos
JAVA9655 小时前
JAVA面试-并发篇 05-并发包AQS队列实现原理是什么
java·开发语言·面试
玖玥拾5 小时前
C/C++ 基础笔记(七)
c语言·c++
Halo_tjn5 小时前
反射与设计模式1
java·开发语言·算法