Seite 1 von 1

QFont benimmt sich komisch....

Verfasst: 7. Mai 2006 23:09
von coffeejunky24
Hallo Allerseits!

Ich hab mal wieder ein Problem :-/

Und zwar habe ich eine Groupbox mit Text, welchen ich via QFont editiere..
Und zwar so:
QGroupBox *infoGroup = new QGroupBox(tr("Information"));
infoGroup->setFont(QFont("Arial", 14, QFont::Bold));

..das funktioniert auch wie gewollt!


Jetzt will ich aber evtl am Ende noch ein paar Anpassungen vornehmen und für den Fall alle relevanten Variablen in einer Datei auslagern...
Auszug aus der global_variables.h:
QFont *groupFont = new QFont("Arial", 14, QFont::Bold);
Aufruf in der info_Page.cpp:
QGroupBox *infoGroup = new QGroupBox(tr("Information"));
infoGroup->setFont(*groupFont);

...da passiert nun aber was Komisches. In der Groupbox steht nur sichtbar: "nformatio" und auch der Rahmen ist irgendwie etwas nach oben gerutscht. Wenn ich "Information" im Rahmem der Groupbox lesen will müsste ich QGroupBox(tr("--Information--")) aufrufen. Aber das kann ja nicht der Sinn der Sache sein.

Sieht von euch vielleicht jemand wo der Fehler steckt?

Schonmal vielen Dank im Voraus!

Verfasst: 8. Mai 2006 15:12
von Saiyaman
Wozu brauchst du hier "tr(anslate)"?

MfG

Verfasst: 9. Mai 2006 11:10
von coffeejunky24
Hallo und danke für deine Antwort!

Ich hatte das tr auch schonmal weggelassen und auch eben nochmal getested. Es hat leider nichts mit dem Problem zu tun.

Mir fehlt das Verständnis um hier den Fehler nachvollziehen zu können. Übergebe ich die QFont Variable evtl falsch?

Auszug aus der global_variables.h:
QFont *groupFont = new QFont("Arial", 14, QFont::Bold);

Aufruf in der info_Page.cpp:
QGroupBox *infoGroup = new QGroupBox(tr("Information"));
infoGroup->setFont(*groupFont);

Verfasst: 9. Mai 2006 14:22
von Saiyaman
Versuch mal dies:

Code: Alles auswählen

QFont * groupFont = new QFont(tr("arial"), 14, QFont::Bold);

...

QGroupBox * infoGroup = new QGroupBox(this); // this, sofern möglich, sonst 0
infoGroup->setFont(*groupFont); // erst Schriftart setzen
infoGroup->setTitle("Information"); // jetzt den Titel setzen
MfG

Verfasst: 9. Mai 2006 21:08
von coffeejunky24
Hallo und nochmals vielen Dank für deine Hilfe!

Ich habe nun weiter rumprobiert mit deinen Tips aber nichts hilft...

In dem Moment indem ich die Font übergebe anstatt sie manuell jedesmal neu zu setzen verschiebt sich alles...

Manuell gesetzt sieht es so aus....
Bild

Mit Übergabe von *groupFont aber so..
Bild


...ich versteh das nich :cry:

Verfasst: 10. Mai 2006 11:46
von Saiyaman
Dann erstell mal das QFont-Objekt anders:

Code: Alles auswählen

QFont * groupFont = new QFont("Arial");

// oder

QFont * groupFont2 = new QFont("Arial", 14);

// oder

QFont * groupFont3 = new QFont("Arial", 14, QFont::Bold);
MfG