所有人。求你帮帮我。
想象一下,我有一个小部件表单并在其上显示值,我希望这些值的标签以其他字体显示,而不是其他文本标签。因此,我给他们一个css类名,例如"Value“,并希望通过样式表(QLabel.Value {.})设置一些字体。我试图通过Qt Designers样式表对话框来设置QLabel的字体,但是如果我选择字体Lato和样式Medium,Designer将其转换为string:
font: 57 12pt "Lato";标签显示非常薄的字体,这绝对不是介质风格。
如果我尝试另一种字体Gotham,其样式为Book,则Designer根本看不到样式名称并输出:
font: 12pt "Gotham".所以问题是:
我使用的是Windows 10,Qt 15.2 MinGW。
发布于 2021-08-20 11:18:38
避免在小部件上使用样式表设置自定义字体:
他们是error-prone.
您可以轻松地使用QFont和QLabel::setFont (或用于显示信息的任何小部件)。例如:
auto font_1()
{
QFont f;
f.setFamily("Monospace");
f.setWeight(10);
f.setBold(true);
return f;
}
void change_fonts(std::vector<QLabel*> const& lbns)
{
for (auto const& lbn : lbns) {
lbn->setFont(font_1());
}
}
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
auto const win = new QDialog;
auto const lbn1 = new QLabel("Ghasem Ramezani");
auto const lbn2 = new QLabel("Ghasem Ramezani");
auto const lay = new QVBoxLayout;
change_fonts({lbn1, lbn2});
lay->addWidget(lbn1);
lay->addWidget(lbn2);
win->setLayout(lay);
win->show();
return app.exec();
}您可以更改标签字体:

https://stackoverflow.com/questions/68861245
复制相似问题