Anfänger Problem

Alles rund um die Programmierung mit Qt
Antworten
pucky
Beiträge: 9
Registriert: 29. April 2008 23:05

Anfänger Problem

Beitrag von pucky »

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
Volker
Beiträge: 343
Registriert: 30. Juni 2005 05:27

Beitrag von Volker »

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
Sephral
Beiträge: 201
Registriert: 1. Februar 2006 09:40
Kontaktdaten:

Beitrag von Sephral »

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.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Oder du verwendest den QSignalMapper.
Thorsten
Beiträge: 55
Registriert: 29. Dezember 2004 22:47
Wohnort: Aachen

Re: Anfänger Problem

Beitrag von Thorsten »

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.
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.

Du verbindest einfach QAbstractButton::clicked() mit QLCDNumber::setHexMode () und das war es. Mehr war da wohl nicht angedacht.

Gruß
Thorsten
Antworten