Seite 1 von 1

signal - slot Problem [gelöst]

Verfasst: 1. Januar 2007 14:03
von C_G
Moin.
Ich befasse mich erst seit ein paar Tagen mit QT und habe ein Problem.
Ich möchte über eine Spinbox einen Wert einlesen, und diesen auf einem
Label abbilden. Soweit kein Problem. Das hab ich mit dem designer gut
hinbekommen. Aber wie schaffe ich es den eintestllten Wert vor der
Ausgabe auf dem Label umzurechnen?
Generell würde mich interessieren wie ich auf die Variablen der einzelnen
Widgets zugreifen kann. In der doku fand ich dahingehend nichts.
Bin für alle Tipps dankbar.
Gruß,
Christian

Verfasst: 1. Januar 2007 14:13
von upsala
Schau dir dazu mal dieses Beispiel an: http://doc.trolltech.com/4.2/designer-c ... rform.html

Verfasst: 1. Januar 2007 15:30
von C_G
Wenn ich das richtig verstanden habe, erweitert er im Beispiel das Programm um eine classe:

Code: Alles auswählen

 class CalculatorForm : public QWidget
 {
     Q_OBJECT

 public:
     CalculatorForm(QWidget *parent = 0);

 private slots:
     void on_inputSpinBox1_valueChanged(int value);
     void on_inputSpinBox2_valueChanged(int value);

 private:
     Ui::CalculatorForm ui;
 };
In diese class schreibt er nun 2 slots. Unten erstellt er eine Instanz von
ui, mit der er dann alle anderen Operationen steuert. Ist das soweit richtig?
Wenn ja, geht das nicht einfacher? Könnte man nicht direkt im designer
auf den Wert zugreifen den eine Spinbox einliest? Mir erscheint das hier
etwas umständlich.
Gruß,
Christian

Verfasst: 1. Januar 2007 15:42
von upsala
Du kannst ja im Designer eine direkt Signal-Slot-Verbindung zwischen deiner QSpinBox und deinem QLabel anlegen, nur macht dies nur selten Sinn...

Verfasst: 1. Januar 2007 16:17
von C_G
Das Problem ist gelöst. Ich habe im designer in der ui.h datei einen eigenen
Slot definiert, und diesen dann mit einem Signal verbunden. In diesem
eigenen Slot kann ich auf alle Daten zugreifen, und die Berechnungen
durchführen.