ändern des zustands von labels während der laufzeit
Verfasst: 19. Dezember 2006 12:29
Hallo Leute,
ich habe ein problem mit dem ich mich schon die letzten paar tage rumschlage.
Ich habe in einem Fenster eine Anzahl von Labels. Auf jedem einzelnen steht ein Buchstabe des alphabets. wenn ich mit der maus über ein Label fahre soll dieser buchstabe der auf dem label steht in ein TextEditor reingeschrieben werden.
das funktioniert soweit ganz gut, da ich das über signals und slots mache.
das layout der ganzen labels und der Editor sind in einer Layout-KLasse, die ich als Singleton implementiert habe. In dieser Layout-Klasse, werde alle Labels erzeugt und Ihnen Wert zugewiesen.
Mein Problem ist nun folgendes:
Wenn ich auf ein bestimmtes Label raufgehe, will ich die Attribute aller labels ändern. Genaugesagt, ich will dass jetzt auf jedem Label anstatt großbuchstaben(also, so wie sie initialisiert wurden), jetzt kleinbuchstaben stehen.
Nun habe ich eine Methode in der Label-Klasse
welche die Anzeige des Labels aber auch den input in das Textfeld ändert. Ich wende diese Methode direkt auf die Objekte die ich in meiner Layout-Klasse erzeugt habe an.
das problem nun ist, dass garnichts passiert wenn ich changeAttributes aufrufe. obwohl changeAttributes direkt die Membervariablen der labels manipuliert.
weiß jemand eine lösung?
ich habe gesehen, dass es in der QWidget klasse eine update() funktion gibt, habe aber nicht verstanden was genau passiert wenn ein update() auf ein widget ausgeführt wird (meine Layout_klasse ist von QWidget abgeleitet)
ich bin echt über jeden tip glücklich.
ich habe ein problem mit dem ich mich schon die letzten paar tage rumschlage.
Ich habe in einem Fenster eine Anzahl von Labels. Auf jedem einzelnen steht ein Buchstabe des alphabets. wenn ich mit der maus über ein Label fahre soll dieser buchstabe der auf dem label steht in ein TextEditor reingeschrieben werden.
das funktioniert soweit ganz gut, da ich das über signals und slots mache.
das layout der ganzen labels und der Editor sind in einer Layout-KLasse, die ich als Singleton implementiert habe. In dieser Layout-Klasse, werde alle Labels erzeugt und Ihnen Wert zugewiesen.
Mein Problem ist nun folgendes:
Wenn ich auf ein bestimmtes Label raufgehe, will ich die Attribute aller labels ändern. Genaugesagt, ich will dass jetzt auf jedem Label anstatt großbuchstaben(also, so wie sie initialisiert wurden), jetzt kleinbuchstaben stehen.
Nun habe ich eine Methode in der Label-Klasse
Code: Alles auswählen
void changeAttributes(const QString &displayString, const QString &insertString, int fontSize );
das problem nun ist, dass garnichts passiert wenn ich changeAttributes aufrufe. obwohl changeAttributes direkt die Membervariablen der labels manipuliert.
weiß jemand eine lösung?
ich habe gesehen, dass es in der QWidget klasse eine update() funktion gibt, habe aber nicht verstanden was genau passiert wenn ein update() auf ein widget ausgeführt wird (meine Layout_klasse ist von QWidget abgeleitet)
ich bin echt über jeden tip glücklich.