Hallo zusammen,
ich bin gerade dabei mich in Qt einzuarbeiten.
Ich arbeite gerade das Tutorial von Qt durch genauer gesagt Kapitel 5
http://doc.trolltech.com/4.2/tutorial-t5.html
Hier wird angeregt Buttons zu erzeugen, die das QLCD-Display ansprechen.
Also ich erzeuge einen Button mit der Aufschrift "5" und wenn ich diese drücke wechselt das QLCD zu 5.
Leider habe ich kein geeignetes Signal oder Slot gefunden, mit dem man das realisieren kann. Sollte doch ganz einfach sein, wenn es so weit vorne im Tutorial steht?
Grüsse Pucky
Anfänger Problem
Ich weiß nicht was du unter "geeignet" verstehst. Naheliegend find ich es nicht unbedingt, dass ein Button ein Signal(int) zur Verfügung stellt, welches den Wert des Button Texts enthält. Wenn Du sowas brauchst, müsstest Du eine eigene Button Klasse von QPushButton ableiten. Oder Du verwendest das clicked() Signal, verbindest es mit einem Slot deines Programms, welches den QLCD Wert auf 5 oder button->text().toInt() setzt.
Bitte seid so nett und ändert den Titel von Beiträgen die gelöst wurden, auf [gelöst] Beitragstitel
Ein QSignalMapper wäre auch ne Möglichkeit, einfach dem Button ein Integer zuweisen und dann QSignalmapper -> mapped(int) mit QLCDNumber -> display(int) verbinden.
Es gibt viele mögliche Lösungen
EDIT: Oder ein eigener Slot der über die sender()-Funktion den Button auflöst und dann button->text() dem LCD-Display unterschiebt.
Es gibt viele mögliche Lösungen
EDIT: Oder ein eigener Slot der über die sender()-Funktion den Button auflöst und dann button->text() dem LCD-Display unterschiebt.
Re: Anfänger Problem
Ich glaube du solltest dir die Aufgabe nochmal anschauen. Die Antworten sind zwar alle für deine Wünsche richtig, doch ist im Tutorial was anderes gemeint.pucky hat geschrieben: Hier wird angeregt Buttons zu erzeugen, die das QLCD-Display ansprechen.
Also ich erzeuge einen Button mit der Aufschrift "5" und wenn ich diese drücke wechselt das QLCD zu 5.
Du verbindest einfach QAbstractButton::clicked() mit QLCDNumber::setHexMode () und das war es. Mehr war da wohl nicht angedacht.
Gruß
Thorsten