toblinger
18-11-2004, 23:54
Hallo zusammen,
dies ist mein erstes Posting in diesem Forum. Da ich mit der Graphikbibliothek QT bisher so gut wie nichts zu tun hatte, diese allerdings im Rahmen eines Praktikums einsetzen muss (darf), plagt mich momentan folgendes Problem: wie schaffe ich es bzw. welche Umwege gibt es, dass mir das Objekt QPushbuttonxy einen numerischen Wert zurückgibt?
Bei meiner Aufgabe handelt es sich konkret darum, einen Taschenrechner mit graphischer Oberfläche zu erstellen. Hierzu habe ich u.a. eine Klasse tastatur, die verschiedene Objekte vom Typ QPushbutton enthält und eine Klasse rechner, welche die arithmetischen Rechenoperationen durchführen soll, erstellt. Ziel wäre es nun, den von QPushbutton repräsentierten Integerwert der Methode rechner.arithmetik(int) zu übergeben.
Meine bisheriges Vorgehen schaut nun so aus, dass ich innerhalb der Klasse tastatur für jedes Objekt vom Typ QPushbutton einen Slot (z.B. void auswahl_1()) definiert habe.
Der Code schaut in groben Ausschnitten so aus:
class tastatur : public QWidget
{
Q_OBJECT
...
QPushbutton* button_1
...
public slots:
void auswahl_1 ();
...
signals:
valueChanged (int);
...
}
-----------------------------------------------------------------------------------------------
tastatur :: tastatur (...)
{
...
button_1= new QPushButton( this, "button1" );
...
rechner initrechner ();
...
connect( Button1, SIGNAL( clicked() ), this, SLOT( auswahl_1() ) );
// Aufruf des Slots auswahl_1
...
}
void tastatur::auswahl_1()
{
connect(this, SIGNAL(valueChanged(1)),initrechner, SLOT(arithmetik(1)));
//innerhalb des Slots auswahl_1 () möchte ich den int-Wert
// 1 an die Methode arithmetik () der Klasse rechner übergeben
}
Für einen Hinweis, ob dieses Vorgehen überhaupt funktioniert bzw. für einen Vorschlag, wie man das Problem eleganter löst, wäre ich sehr dankbar.
Viele Grüße,
Toblinger
dies ist mein erstes Posting in diesem Forum. Da ich mit der Graphikbibliothek QT bisher so gut wie nichts zu tun hatte, diese allerdings im Rahmen eines Praktikums einsetzen muss (darf), plagt mich momentan folgendes Problem: wie schaffe ich es bzw. welche Umwege gibt es, dass mir das Objekt QPushbuttonxy einen numerischen Wert zurückgibt?
Bei meiner Aufgabe handelt es sich konkret darum, einen Taschenrechner mit graphischer Oberfläche zu erstellen. Hierzu habe ich u.a. eine Klasse tastatur, die verschiedene Objekte vom Typ QPushbutton enthält und eine Klasse rechner, welche die arithmetischen Rechenoperationen durchführen soll, erstellt. Ziel wäre es nun, den von QPushbutton repräsentierten Integerwert der Methode rechner.arithmetik(int) zu übergeben.
Meine bisheriges Vorgehen schaut nun so aus, dass ich innerhalb der Klasse tastatur für jedes Objekt vom Typ QPushbutton einen Slot (z.B. void auswahl_1()) definiert habe.
Der Code schaut in groben Ausschnitten so aus:
class tastatur : public QWidget
{
Q_OBJECT
...
QPushbutton* button_1
...
public slots:
void auswahl_1 ();
...
signals:
valueChanged (int);
...
}
-----------------------------------------------------------------------------------------------
tastatur :: tastatur (...)
{
...
button_1= new QPushButton( this, "button1" );
...
rechner initrechner ();
...
connect( Button1, SIGNAL( clicked() ), this, SLOT( auswahl_1() ) );
// Aufruf des Slots auswahl_1
...
}
void tastatur::auswahl_1()
{
connect(this, SIGNAL(valueChanged(1)),initrechner, SLOT(arithmetik(1)));
//innerhalb des Slots auswahl_1 () möchte ich den int-Wert
// 1 an die Methode arithmetik () der Klasse rechner übergeben
}
Für einen Hinweis, ob dieses Vorgehen überhaupt funktioniert bzw. für einen Vorschlag, wie man das Problem eleganter löst, wäre ich sehr dankbar.
Viele Grüße,
Toblinger