标签: qfont

How to change QMenu font size

The code below creates a Menu with 5 Submenus and 10 Actions per each Submenu. Even while the setPointSize command is applied to the Submenus their font seem to be unaffected and it remains to be large. But the Actions font is set to a smaller size even while the command is performed on Submenus and not the Actions. How to change the font size for both the Submenus and Actions?

在此输入图像描述

from PyQt5.QtWidgets import QMenu, QApplication
app …
Run Code Online (Sandbox Code Playgroud)

python pyqt pyqt4 qmenu qfont

5
推荐指数
1
解决办法
4551
查看次数

QFontMetrics 给出等宽字体的奇怪结果

\xd0\xa1an 有人向我解释一下这个测试程序的结果吗?

\n\n
#include <QApplication>\n#include <QDebug>\n#include <QFontMetrics>\nint main(int argc, char *argv[])\n{\n    QApplication app(argc, argv);\n    QFont font;\n    font.fromString("Monospace,14");\n    QFontMetrics fm(font);\n    qDebug() << "W       : " << fm.width(\'W\');\n    qDebug() << "8*W     : " << 8*fm.width(\'W\');\n    qDebug() << "WWWWWWWW: " << fm.width("WWWWWWWW"); // 8*W\n    return 0;\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

用 Qt5.11 编译这段代码后,我得到这样的结果:

\n\n
\n
W       :  11\n8*W     :  88\nWWWWWWWW:  92\n
Run Code Online (Sandbox Code Playgroud)\n
\n\n

这种等宽字体的一个字符“W”的大小是 11。我预计由 8 个这样的字符组成的字符串的大小应该是 88。但是 QFontmetrics::width 返回 92!

\n

qt qfontmetrics qfont

5
推荐指数
1
解决办法
504
查看次数

QFont.toString() 的格式是否有文档记录和/或跨 Qt 版本稳定?

文档QFont.toString说它返回“以逗号分隔的属性列表”,但它没有指定“这些”属性是什么或它们的顺序是什么。 (编辑:文档已更新,因此现在明确列出属性及其顺序。) 我发现了一个老问题,其答案说属性是:

字体系列、pointSizeF、pixelSize、、、、、QFont::StyleHint下划线、strikeOut、fixedPitch、rawModeQFont::WeightQFont::Style

但我找不到此信息的任何权威来源(而且该答案已有 10 多年历史,并且是关于 Qt4 的)。

是否有关于 的格式的明确文档QFont.toString(),包括它代表哪些属性以及它们的顺序?假设保存这样的字符串并稍后QFont.fromString()在不同版本的 Qt 上使用它会起作用,这是否合理?

fonts qt qfont

5
推荐指数
1
解决办法
843
查看次数

如何使用QFont选择其他类型的字体?

我正在尝试使用 PyQt5 为我的应用程序分配不同类型的文本字体,但我不知道如何为标准字体分配不同类型的文本字体,例如在我的应用程序中我只能将其分配为“Roboto”,但如果我想要更改为 Roboto-MediumItalic,我不知道如何为其指定字体类型,我是 python 和 pyqt5 的新手

QFontDatabase.addApplicationFont("Static/fonts/Roboto-Light.ttf")
label2.setFont(QFont('Roboto',12))
Run Code Online (Sandbox Code Playgroud)

文件夹

python pyqt pyqt5 qfont

5
推荐指数
1
解决办法
5421
查看次数

Qt QFont 选择等宽字体不起作用

我正在尝试制作一个 qt 小部件,该小部件显示一个显示十六进制数字的 qlabels 表。

我将数字作为准备打印的 qstrings 传递给标签,标签可以正常工作,但字体类型是系统默认值(无衬线字体),具有不同的字母大小,因此包含“AF”数字的数字不再与其他数字...

我最初使用以下功能创建字体:

static const QFont getMonospaceFont(){
  QFont monospaceFont("monospace");  // tried both with and without capitalized initial M
  monospaceFont.setStyleHint(QFont::TypeWriter);
  return monospaceFont;
}
Run Code Online (Sandbox Code Playgroud)

并创建一个QLabel具有此构造函数的自定义类:

monoLabel(QWidget *parent = 0, Qt::WindowFlags f = 0) : QLabel(parent, f) {
  setTextFormat(Qt::RichText);
  setFont(getMonospaceFont());
}
Run Code Online (Sandbox Code Playgroud)

但它不起作用,所以我添加到主文件中

QApplication app(argn, argv);
app.setFont(monoLabel::getMonospaceFont(), "monoLabel");
Run Code Online (Sandbox Code Playgroud)

再次字体保持不变..

我在网上搜索了QLabels 的字体设置问题,但我似乎是唯一一个没有让它们正常工作的人。

我究竟做错了什么??

c++ fonts qt qlabel qfont

4
推荐指数
1
解决办法
5031
查看次数

标签 统计

qfont ×5

qt ×3

fonts ×2

pyqt ×2

python ×2

c++ ×1

pyqt4 ×1

pyqt5 ×1

qfontmetrics ×1

qlabel ×1

qmenu ×1