2011-07-19 11 views
8

Moje QLabels wyglądają dość brzydko, wydaje się, że nie ma anty-aliasingu. Jak mogę włączyć tę funkcję (zakładając, że jest dostępna)?Jak włączyć antyaliasing na Qlabel?

+1

Jest to bardzo dzikie przypuszczenie, ponieważ nie mam doświadczenia z Qt, ale nie ustawienie koloru tła rozwiązać problem? Wiele systemów interfejsu użytkownika nie obsługuje antyaliasingu czcionek bez tła, ponieważ piksele aliasingu zależą od koloru tła, z którym można się wtopić. – DarkDust

+0

Prawdopodobnie powinieneś powiedzieć, z jakiego systemu operacyjnego korzystasz. Moje QLabels wyglądają dobrze. –

+0

Czy używasz renderowania oprogramowania Qt (raster)? – vrince

Odpowiedz

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

można również zmieniać ustawienia czcionek aplikacji, które mają być stosowane do wszystkich widgetów używanych ...

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

Pamiętaj, że iz to 'QFont :: PreferAntialias'. – Exa

2

Można ustawić atrybut Antialisasing w czcionki etykiety do PreferAntialias. Można to zrobić w Qt Creator lub kodem jak poniżej:

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

nadzieję, że to pomaga