PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : QT - LCD aktualisieren



dinu_ch
03-06-2005, 13:46
Hallo, ich bin Newbie in Sachen QT und möchte das beim Klick auf einen Button das Display mit einer Variablen aktualisiert wird :

//

QLCDNumber *lcd = new QLCDNumber
(
10, // Ziffernzahl
w // Parent-Widget
);

lcd->setGeometry (20,20, 150, 30);

// Button

QPushButton *button_1= new QPushButton(
"1",
w);

button_1->setGeometry (20, 100, 40, 40);
button_1->setPaletteBackgroundColor(Qt::lightGray);
// Variable
int a = 10;

// Connect

QObject::connect (
button_1 , SIGNAL( clicked()),
lcd, SLOT ( display(a) ));

Ich kann kompileren, aber es funktioniert nicht. Wer kann mir helfen ?

anda_skoa
06-06-2005, 14:22
Wenn die Zahl konstant ist, kannst du über einen QSignalMapper für den Button einen Wert verknüpfen.

Wenn der Wert veränderbar ist, brauchst du einen Slot, der mit dem Button verbunden wird und dann entweder ein geeignetes Signal mit Parameter auslöst oder das LCD Widget direkt aktualisiert.

Dein momentaner Code kann nicht funktionieren, weil der Wert nur zum Zeitpunkt des connect() bekannt ist, nicht dann wenn der Button sein Signal aussendet.

Ciao,
_