我正在尝试制作一个 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;
}
并创建一个QLabel
具有此构造函数的自定义类:
monoLabel(QWidget *parent = 0, Qt::WindowFlags f = 0) : QLabel(parent, f) {
setTextFormat(Qt::RichText);
setFont(getMonospaceFont());
}
但它不起作用,所以我添加到主文件
QApplication app(argn, argv);
app.setFont(monoLabel::getMonospaceFont(), "monoLabel");
字体再次保持不变..
我在网上搜索了QLabel
s 的字体设置问题,但我似乎是唯一一个没有让它们正常工作的人..
我究竟做错了什么??