c 里面setfont怎样设置字体

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c 里面setfont怎样设置字体相关的知识,希望对你有一定的参考价值。

设计字体显示效果 Font mf = new Font(String 字体,int 风格,int 字号);
字体:TimesRoman, Courier, Arial等
风格:三个常量 lFont.PLAIN, Font.BOLD, Font.ITALIC
字号:字的大小(磅数)
设置组件当前使用的字体:setFont(Font fn)
获取组件当前使用的字体:getFont()
int i= font.stringWidth(String str);获取str字符的长度
详细说明
getFont(int face,int style,int size). 例如:
Font font = Font.getFont(Font.FACE_SYSTEM,Font.STYLE_BOLD,Font. SIZE_MEDIUM). 无论哪一个参数,都只能使用系统设置的数值,这些数值具体的大小在不同的手机上可能不同。下面对于其中的三个参数的取值做详细的介绍: face参数指字体的外观,其的值: FACE_MONOSPACE——等宽字体l
FACE_PROPORTIONAL——均衡字体l
FACE_SYSTEM——系统字体style参数指字体的样式,其的取值:l
STYLE_BOLD——粗体l
STYLE_ITALIC——斜体l
STYLE_PLAIN——普通l
STYLE_UNDERLINED——下划线l
STYLE_BOLD | STYLE_ITALIC——粗斜体l
STYLE_UNDERLINED | STYLE_BOLD——带下划线粗体l
STYLE_UNDERLINED | STYLE_ITALIC——带下划线斜体l
STYLE_UNDERLINED | STYLE_ITALIC | STYLE_BOLD——带下划线的粗斜体size参数指字体的大小,其的取值:l
SIZE_SMALL——小l
SIZE_MEDIUM——中l
SIZE_LARGE——大通过上面的参数的值,可以组合出你需要的字体对象。下面是一些常用的字体操作:
1. 获得系统的默认字体:Font font = Font.getDefaultFont().

2. 在panit方法内部,假设Graphics参数的名称为g,则获得当前字体的方法是:Font font = g.getFont().
3. 在panit方法内部,假设Graphics参数的名称为g,则设置当前字体的方法是:g.setFont(font).其中font为构造好的字体对象。
参考技术A 依照这个步骤设置字体:
CFont m_font;
LOGFONT lf;
lf.lfHeight = 20;
m_font.CreateFontIndirect(&lf);

QPlainTextEdit 只为一行设置字体

【中文标题】QPlainTextEdit 只为一行设置字体【英文标题】:QPlainTextEdit set font for only one line 【发布时间】:2018-05-18 14:41:48 【问题描述】:

QPlainTextEdit 可以显示不同字体的文本吗? 我已经尝试过了,但似乎所有小部件的字体都会发生一段时间的变化并恢复正常:

        QFont font;
        font.setBold(true);
        ui->plainTextEdit->setFont(font);
        ui->plainTextEdit->insertPlainText("Some text:\n");
        font.setBold(false);
        ui->plainTextEdit->setFont(font);

我尝试将 QPlainTextEdit 更改为 QTextEdit 没有帮助

【问题讨论】:

【参考方案1】:

QPlainTextEditQTextEdit 都从QWidget 继承setFont,并且QWidget 一次只有一种字体类型。

但是,QTextEditexposes an interface 可以通过QTextCharFormat为文本的不同部分设置字体

就您而言,解决此问题的最简单方法应该是使用QTextEditsetCurrentFont 方法。

QFont font;
font.setBold(true);
ui->textEdit->setCurrentFont(font);
ui->textEdit->insertPlainText("Some text:\n");
font.setBold(false);
ui->textEdit->setCurrentFont(font);

(在这种非常特殊的情况下,您还可以使用setFontWeight 来选择粗体/普通字体,但对于更一般的修改setCurrentFont 更合适)

【讨论】:

以上是关于c 里面setfont怎样设置字体的主要内容,如果未能解决你的问题,请参考以下文章

怎样设置label中文字的字体大小

MFC 请教怎样设置STATIC TEXT控件的字体大小和颜色

如何设置 NSMenu/NSMenuItems 的字体?

MFC 编辑框字体大小问题

VS2015C#WPF中label控件内的字体颜色怎样改变

Android中怎样设置Spinner显示的字体颜色