QT6 源,七章对话框与多窗体(1) QFont 篇一:因为有字体选择对话框的,故熟悉下字体, QFont,本篇介绍其成员函数

(1)本类,老师在课本里没有讲。所以,大致测试一下其成员函数。还有一处,老师没有讲,就是文本格式类。

在这里插入图片描述

(2)访问 控件的 QFont 属性,是由窗体基类, QWidget 提供的

在这里插入图片描述

++

在这里插入图片描述

(3) 本 QFont 类并不继承于 QObject ,也没有属性,成员函数全是 public 权限的

在这里插入图片描述

++补充另一个成员函数,关于 family

在这里插入图片描述

(4)

在这里插入图片描述

++补充下点大小 pointSize 与像素大小 pixelSize 的区别

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

++ 所以,要多用 点大小的成员函数

(5) 关于字体 style 的内容很多,集中于此,虽然感觉并不重要

在这里插入图片描述

++ 给出其代码版

class QFont {
public:
    //这个枚举描述了用于显示文本的不同字体样式。
    enum Style {
        StyleNormal,
        StyleItalic, //专门为表示斜体文本而设计的斜体字形。
        StyleOblique //具有斜体外观的字符,通常基于未加修饰的字符,
        //但未经过专门微调以用于表示斜体文本。
    };
    Q_ENUM(Style)

    Style              style() const;   //style 里最有用的就是斜体。用下面的 italic()更好
    void            setStyle(Style style);

    QString            styleName() const;
    void            setStyleName(const QString &);

    inline bool        italic() const {  return (  style() != StyleNormal  )    ; }
    inline void     setItalic(bool b) {  setStyle(b ? StyleItalic : StyleNormal); }
    
    //样式提示用于字体匹配算法,当选定的字体系列不可用时,帮助找到合适的默认系列。
    enum StyleHint {
        Helvetica,  SansSerif  = Helvetica , //这俩值相等
        Times,      Serif      = Times     , //字体匹配器更喜欢衬线字体。
        Courier,    TypeWriter = Courier   ,
        OldEnglish, Decorative = OldEnglish, //字体匹配器更喜欢装饰性字体。
        System   , //the font matcher prefers system fonts.
        AnyStyle , //让字体匹配算法来选择字体系列。这是默认设置。
        Cursive  ,
        Monospace, //字体匹配器更喜欢映射到CSS通用字体系列'monospace'的字体。
        Fantasy    //字体匹配器更喜欢映射到CSS通用字体系列'fantasy'  的字体。
    };
    Q_ENUM(StyleHint)
    
    StyleHint          styleHint() const;
    void            setStyleHint(StyleHint, StyleStrategy = PreferDefault);
    
    StyleStrategy      styleStrategy() const;
    void            setStyleStrategy(StyleStrategy s);
    
    //样式策略告诉字体匹配算法应该使用哪种类型的字体来找到合适的默认系列。
    enum StyleStrategy {
        PreferDefault       = 0x0001, //默认样式策略。它不偏好任何类型的字体。
        PreferBitmap        = 0x0002, //偏好位图字体(而不是轮廓字体)
        PreferDevice        = 0x0004,
        PreferOutline       = 0x0008, //偏好轮廓字体(而不是位图字体)
        ForceOutline        = 0x0010,
        PreferMatch         = 0x0020,
        PreferQuality       = 0x0040,
        PreferAntialias     = 0x0080,
        NoAntialias         = 0x0100,
        NoSubpixelAntialias = 0x0800,
        PreferNoShaping     = 0x1000,
        NoFontMerging       = 0x8000  //如果为某种书写系统选定的字体不包含请求绘制的字符,
        //那么Qt将自动选择包含该字符的类似样式的字体。`NoFontMerging~标志会禁用此功能。
        //请注意,启用此标志并不会阻止Qt在选定的字体不支持文本的书写系统时自动选择合适的字体。
    };
    Q_ENUM(StyleStrategy)
}

(6)字体的粗细

在这里插入图片描述

(7)字体上的下划线,删除线与上划线

在这里插入图片描述

++ 给出使用上划线的范例,来自一言

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
数学公式编辑器
使用上划线标注变量或公式:

QTextEdit *formulaEditor = new QTextEdit(this);
formulaEditor->setHtml(   "<span style='text-decoration: overline;'>x</span> 
					    +  <span style='text-decoration: overline;'>y</span> 
					    =  <span style='text-decoration: overline;'>z</span>"  );

文档编辑
强调特定术语:

QTextEdit * docEditor = new QTextEdit(this);
docEditor->insertHtml("<p>关键术语:<span style='text-decoration: overline;'>量子计算</span></p>");

在这里插入图片描述

(8)

在这里插入图片描述

(9)

在这里插入图片描述

(10)

在这里插入图片描述

(11)

在这里插入图片描述

(12)

在这里插入图片描述

(13)

在这里插入图片描述

(14)

在这里插入图片描述

(15)

在这里插入图片描述

(16)

在这里插入图片描述

(17)

在这里插入图片描述

(18)

谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhangzhangkeji

谢谢支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值