Qt 常用类 (6) —— QFont

本文介绍了 Qt 中 QFont 类的使用方法,包括构造函数及字体属性的设置与获取。详细解析了如何通过不同构造函数创建字体对象,并说明了如何调整字体的各项属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      QFont 类代表字体,实现在 QtGui 共享库中。


      构造

      QFont 类有以下几个常用的构造函数:

QFont();    // 由应用程序的默认字体构造新字体对象
QFont(const QString &family, int pointSize = -1, int weight = -1, bool italic = false);  

       其中第二个构造函数的各个参数的含义解释如下。

       1) family: 字体的名称。

       2) pointSize: 字体的点大小,如果这个参数小于等于0,则自动设为 12。

       3) weight: 字体的粗细。

       4) italic: 字体是否为斜体。

       这些参数也可以在字体对象构造以后通过属性来修改。


        

       属性

       QFont 类的常用属性如下所示:


     字体的属性                                                                获取所用成员函数                                                               设置所有成员函数

           名称                                                                   QString family() const;                                                      void setFamily(const QString &family);

        点大小                                                                  int pointSize() const;                                                         void setPointSize(int pointSize);

      像素大小                                                                int pixelSize() const;                                                          void setPixelSize(int pixelSize);

          粗细                                                                    int weight() const;                                                              void setWeight(int weight);

          粗体                                                                    bool bold() const;                                                              void setBold(bool enable);

          斜体                                                                    bool italic() const;                                                              void setItalic(bool enable);

       下划线                                                                   bool underline() const;                                                     void setUnderline(bool enable);


       其中设置粗体属性实际上就是将字体的粗细设为一个确定的值。点大小与像素大小是指定字体大小的两种方式。如果指定了点大小,则像素大小属性的值就是 -1;反之如果指定了像素大小,则点大小属性的值就是 -1。  

       如果指定的字体在使用时没有对应的字体文件,Qt 将自动选择最接近的字体。如果要显示的字符在字体中不存在,则字符会被显示为一个空心方框。                                             

### 关于 Qt 开发的相关内容 #### 一、Qt 开发简介 Qt 是一个跨平台的 C++ 图形用户界面应用程序开发框架,广泛应用于桌面端、移动端以及嵌入式设备的应用程序开发。对于初学者来说,掌握其基本概念和工具链是非常重要的。 为了帮助开发者快速上手,以下是关于 Qt 开发的一些核心知识点: --- #### 二、Qt Creator 集成开发环境 (IDE) 作为官方推荐的 IDE 工具,Qt Creator 提供了一套完整的解决方案来支持项目的创建、编辑、调试和部署过程[^1]。 主要功能包括但不限于: - **项目管理**:通过向导轻松创建不同类型的项目。 - **代码编辑器**:提供语法高亮、自动补全等功能。 - **图形化设计工具**:用于拖拽 UI 组件并自动生成对应的 `.ui` 文件。 - **调试与分析**:内置强大的调试器和性能分析工具。 示例代码展示如何初始化一个简单的窗口应用: ```cpp #include <QApplication> #include <QWidget> int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget window; window.resize(800, 600); // 设置窗口大小 window.setWindowTitle("My First Qt Application"); // 设置标题 window.show(); // 显示窗口 return app.exec(); } ``` --- #### 三、Qt 样式表 (QSS) 基础 类似于 HTML 中 CSS 的作用,Qt 使用 QSS 来定义控件外观属性。这使得开发者可以更加灵活地定制 GUI 应用风格[^2]。常见的应用场景如下: - 修改按钮颜色、字体等视觉效果; - 定义全局主题以保持一致性体验。 简单例子演示设置 QPushButton 背景色的方法: ```css QPushButton { background-color: lightblue; /* 浅蓝色背景 */ border-radius: 5px; /* 圆角边框 */ padding: 10px; /* 内部填充 */ } QPushButton:hover { /* 鼠标悬停时变化 */ background-color: blue; } ``` --- #### 四、文件操作基础 在实际项目中经常涉及读写本地数据的需求,这时就需要借助 `QFile` 类完成相应任务。下面是一个打开文本文件并将内容打印至终端的小案例: ```cpp #include <QFile> #include <QDebug> void readFile(const QString &filePath) { QFile file(filePath); if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { qWarning() << "无法打开文件:" << filePath; return; } while (!file.atEnd()) { QByteArray line = file.readLine(); qDebug() << line.trimmed(); // 移除多余空白符后输出每行文字 } } ``` --- #### 五、对话框组件实践 除了静态布局外,动态交互也是现代软件不可或缺的一部分。这里列举几个常用的对话框类及其用途[^3]: - QFontDialog:允许用户挑选所需字体样式; - QColorDialog:选取特定的颜色值; - QMessageBox:显示提示消息或者确认选项。 调用标准字体选择对话框片段: ```cpp bool changeFont(QWidget *parent, QTextEdit *textEdit) { bool ok; QFont font = QFontDialog::getFont(&ok, parent); if (ok && textEdit != nullptr) { textEdit->setFont(font); // 更新目标区域字体配置 return true; } else { return false; } } ``` --- #### 六、总结建议 针对新手朋友,在学习过程中应注重理论联系实际的原则——即先理解文档说明再动手尝试编写小程序验证所学知识;另外还可以参考在线资源如视频课程进一步巩固印象。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值