Seite 1 von 1

Eingabe aus SpinBox o.ä. auslesen

Verfasst: 16. Juli 2007 15:59
von doubleB
Hallo,
bin ein ziemlicher Neuling in Qt.
Habe ein kleines Widget programmiert, in das man Daten eingeben kann.

Hier mein Code:

Code: Alles auswählen

#include <QtGui>

class InputWidget : public QWidget
{
  public:
	InputWidget(QWidget *parent=0);
};

InputWidget::InputWidget(QWidget *parent) : QWidget(parent)
{
	setFixedSize(400,200); //Fenstergröße
	
	//-------------Labels------------------
	QLabel *datelbl = new QLabel(this);
	datelbl->setText("Datum/Zeit:	");
	QLabel *kmlbl = new QLabel(this);
	kmlbl->setText("Kilometer:	");
	QLabel *timelbl = new QLabel(this);
	timelbl->setText("Zeit:		");

	//-------------Cancel-PushButton-----------
	QPushButton *cancel = new QPushButton(tr("Abbrechen")); //cancel-Button
	cancel->setFont(QFont("Times",14)); //Schrift
	cancel->setFixedSize(100,40);

	//-------------Ok-Button-------------------
	QPushButton *ok = new QPushButton("OK");
	ok->setFont(QFont("Times",14,QFont::Bold));
	ok->setFixedSize(100,40);

	//-------------KM-SpinBox------------------
	QSpinBox *km = new QSpinBox(this);
	km->setValue(0);
	km->setRange(0,99);
	
	//-------------DateTimeEdit-------------
	QDateTimeEdit *datetime = new QDateTimeEdit(this);
	datetime->setDateTime(QDateTime::currentDateTime());
	datetime->setCalendarPopup(true);

	//------------TimeEdit------------------
	QTimeEdit *time = new QTimeEdit(this);
	

	//-------------Signale------------------
	connect(cancel,SIGNAL(clicked()),this,SLOT(close())); //Schließen, wenn Abbrechen gedrückt wird
	connect(ok,SIGNAL(clicked()),this,SLOT(close())); //Wenn OK gedrückt wird


	//--------------Layout------------------
	QGridLayout *grid = new QGridLayout(this); //Neues GridLayout über das ganze Fenster
	grid->addWidget(datelbl,1,1);
	grid->addWidget(datetime,1,2,1,2); //DateTime Position:1,2; Größe:1,2 (2 Spalten breit)
	grid->addWidget(kmlbl,2,1); //Kilometer-Label hinzufügen in 2/1
	grid->addWidget(km,2,2); //km-Eingabe hinzufügen in Reihe 2, Spalte 2
	grid->addWidget(timelbl,3,1); //time-Label hinzufügen
	grid->addWidget(time,3,2); //TimeEdit hinzufügen

	grid->addWidget(ok,4,2); //OK-Button hinzufügen
	grid->addWidget(cancel,4,3); //Cancel-Button hinzufügen
	
}
Das ist die Widgetklasse, das Hauptprogramm erstellt nur ein Widget daraus und ich denke, das ist nicht weiter wichtig.

Nun möchte ich die eingegebenen Daten gerne auslesen, bzw. in eine Textdatei speichern. Wie kann ich das machen?

Tut mir leid,wenn die Frage vielleicht schonmal gestellt wurde, aber ich habe hier nichts gefunden, das mir weiterhilft und auch die Qt-Referenz hilft mir nicht besonders in diesem Fall.

Ich benutze Qt 4.2 und C++.

Danke für Eure Hilfe!

Verfasst: 16. Juli 2007 16:14
von Christian81

Verfasst: 16. Juli 2007 16:20
von doubleB
Ja, die habe ich gelesen, nur ich versteh trotzdem nicht ganz, wie ich das jetzt mache.

Und noch eine Frage:
Kann das alles im Konstruktor beschrieben werden?

Verfasst: 16. Juli 2007 16:22
von Christian81
int iValue = km->value()

Verfasst: 16. Juli 2007 16:27
von doubleB
Ok und wie bau ich das jetzt in meinen Code ein. Geht das im Konstruktor des Widgets oder wie?

Verfasst: 16. Juli 2007 16:29
von Christian81
doubleB hat geschrieben:Ok und wie bau ich das jetzt in meinen Code ein. Geht das im Konstruktor des Widgets oder wie?
An der Stelle, an dem Du den Wert der Spinbox haben willst. km muss dann natürlich ein Klassenmember sein - aber das ist hier kein C++-Basics Forum :(

Verfasst: 16. Juli 2007 16:36
von doubleB
Jap das stimmt :D
Also danke für deine Hilfe :-)