2011-07-19 53 views
8

我的QLabels看起来相当难看,似乎没有反锯齿。我如何启用此功能(假设它可用)?如何在Qlabel上启用反锯齿功能?

+1

这是一个非常大胆猜测,因为我没有使用Qt的经验,但并设置背景颜色解决问题?许多UI系统不会在没有背景的情况下进行字体反锯齿,因为别名像素取决于背景颜色来融入。 – DarkDust

+0

你可能应该告诉你正在使用的操作系统。我的QLabels看起来很好。 – 2011-07-19 11:29:51

+0

你使用的是Qt软件渲染(光栅)吗? – vrince

回答

10
QLabel * l = new QLabel(); 
QFont f=l->font(); 
f.setStyleStrategy(QFont::PreferAntialias); 
l->setFont(f); 

你也可以改变应用程序的字体设置,将应用于您使用的所有部件...

QFont f=QApplication::font(); 
f.setStyleStrategy(QFont::PreferAntialias); 
QApplication::setFont(f); 
+0

请记住,iz是'QFont :: PreferAntialias'。 – Exa

2

您可以设置标签的字体PreferAntialias的Antialisasing属性。 你可以做到这一点在QtCreator或通过这样的代码:

QFont f("Times", 50); 
f.setStyleStrategy(QFont::PreferAntialias); 
ui->label->setFont(f); 

希望这有助于