• 103阅读
  • 3回复

Qt5.15.2设置文本框默认字体失败 [复制链接]

上一主题 下一主题
离线apud
 

只看楼主 倒序阅读 楼主  发表于: 04-07
QFont font("微软雅黑",26);
ui->textEdit->document()->setDefaultFont(font);

以上代码在Qt5.12.10及以下版本都是可以正常设置文本中的字体大小。升级到Qt5.15.2后设置就失效了,求解……
在线20091001753

只看该作者 1楼 发表于: 04-08
有可能是没有找到该字体,你先试试有没有:
  1. QFontDatabase database;
  2. for(auto family:database.families())qDebug()<<family;

(づ ̄ 3 ̄)づ
离线apud

只看该作者 2楼 发表于: 04-09
回 20091001753 的帖子
20091001753:有可能是没有找到该字体,你先试试有没有:
QFontDatabase database;
for(auto family:database.families())qDebug()<<family;
 (2021-04-08 14:04) 

感谢提供思路,晚点我看看……
离线apud

只看该作者 3楼 发表于: 04-10
已找到原因
原代码:
  QFont font("微软雅黑",26);
  ui->textEdit->document()->setDefaultFont(font);
  ui->textEdit->setStyleSheet(QString("QTextEdit{background:%1;color:%2;}").arg(background).arg(color));
必须调换顺序,即:
  ui->textEdit->setStyleSheet(QString("QTextEdit{background:%1;color:%2;}").arg(background).arg(color));
  QFont font("微软雅黑",26);
  ui->textEdit->document()->setDefaultFont(font);

在Qt5.15.2中才能让字体设置生效,至少在Qt5.12.10这个版本中原代码是没有问题的。听说Qt5.15.2对高分屏这些做了优化,估计样式那块功能做了升级调整,这个属于正常的升级调整还是Qt5.15.2的BUG?有没有懂的人来指点一二。
快速回复
限100 字节
 
上一个 下一个