QT Funktionsaufruf, aber wie?
Verfasst: 9. November 2005 08:38
Hallo Leute,
vorweg: ich bin eigentlich totaler Anfänger was QT und C++ angeht. Aber trotzdem habe ich folgendes hinbekommen:
QT 4.0.1 und MacOSx habe ich. Mit dem Designer habe ich eine einfache GUI erstellt, in der eine Eingabezeile oben ist, in der Mitte ein Button und unten eine 2. Eingabezeile, die aber geschützt ist.
Nun möchte ich eigentlich nur folgendes machen. Wenn man auf den Button drückt, soll er zu der Zahl oben 10 hinzufügen. Dieses möchte ich aber gerne über eine Funktion machen. Mit ist nämlich nicht ganz klar geworden bis jetzt, was diese Slots genau zu sagen haben. Kann man den Slots auch sagen, dass sie eine Funktion aufrufen sollen und einen Wert aus einem Textfeld einlesen und mit übergeben ?
Theoretisch sollte das ja einfach sein, aber ich habe keine idee zum Syntax. Ich schicke euch auch erstmal meine main.cpp und meine aufgabe01.h
und nun noch die main.cpp
Meine 2. Frage ist, aber das würde erst danach kommen, hat jemand einen Link zu einem Tutorial oder so, in dem erklärt wird, wie man diese Standartfenster für Datei öffnen, Datein speichern unter, Drucken etc. erstellt ?
Denn meine Aufgabe ist es, eine ASCII DAT Datei mit der GUI zu öffnen und an eine parserFunction zu geben. Aber wie gesagt, ich möchte es erstmal hinbekommen, dass wenn ein Button gedrückt wird, eine Funktion aufgerufen werden soll.
Ich danke euch schon mal,
Mfg,
Hauke
vorweg: ich bin eigentlich totaler Anfänger was QT und C++ angeht. Aber trotzdem habe ich folgendes hinbekommen:
QT 4.0.1 und MacOSx habe ich. Mit dem Designer habe ich eine einfache GUI erstellt, in der eine Eingabezeile oben ist, in der Mitte ein Button und unten eine 2. Eingabezeile, die aber geschützt ist.
Nun möchte ich eigentlich nur folgendes machen. Wenn man auf den Button drückt, soll er zu der Zahl oben 10 hinzufügen. Dieses möchte ich aber gerne über eine Funktion machen. Mit ist nämlich nicht ganz klar geworden bis jetzt, was diese Slots genau zu sagen haben. Kann man den Slots auch sagen, dass sie eine Funktion aufrufen sollen und einen Wert aus einem Textfeld einlesen und mit übergeben ?
Theoretisch sollte das ja einfach sein, aber ich habe keine idee zum Syntax. Ich schicke euch auch erstmal meine main.cpp und meine aufgabe01.h
Code: Alles auswählen
#ifndef AUFGABE01_H
#define AUFGABE01_H
#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QFrame>
#include <QtGui/QLabel>
#include <QtGui/QLineEdit>
#include <QtGui/QMainWindow>
#include <QtGui/QPushButton>
#include <QtGui/QWidget>
class Ui_MainWindow
{
public:
QWidget *centralWidget;
QFrame *line;
QLineEdit *eingab;
QLabel *text;
QPushButton *button;
QLineEdit *ziel;
// From here
int calculate(int zahl)
{
zahl += zahl;
return zahl;
}
// till here
void setupUi(QMainWindow *MainWindow)
{
MainWindow->setObjectName(QString::fromUtf8("MainWindow"));
MainWindow->resize(QSize(513, 285).expandedTo(MainWindow->minimumSizeHint()));
centralWidget = new QWidget(MainWindow);
centralWidget->setObjectName(QString::fromUtf8("centralWidget"));
line = new QFrame(centralWidget);
line->setObjectName(QString::fromUtf8("line"));
line->setGeometry(QRect(10, 60, 441, 16));
line->setFrameShape(QFrame::HLine);
eingab = new QLineEdit(centralWidget);
eingab->setObjectName(QString::fromUtf8("eingab"));
eingab->setGeometry(QRect(90, 20, 301, 21));
text = new QLabel(centralWidget);
text->setObjectName(QString::fromUtf8("text"));
text->setGeometry(QRect(20, 20, 61, 16));
button = new QPushButton(centralWidget);
button->setObjectName(QString::fromUtf8("button"));
button->setGeometry(QRect(140, 80, 171, 32));
ziel = new QLineEdit(centralWidget);
ziel->setObjectName(QString::fromUtf8("ziel"));
ziel->setGeometry(QRect(160, 120, 138, 22));
ziel->setReadOnly(true);
MainWindow->setCentralWidget(centralWidget);
retranslateUi(MainWindow);
QObject::connect(button, SIGNAL(clicked()), eingab, SLOT(selectAll()));
QMetaObject::connectSlotsByName(MainWindow);
} // setupUi
void retranslateUi(QMainWindow *MainWindow)
{
MainWindow->setWindowTitle(QApplication::translate("MainWindow", "MainWindow", 0, QApplication::UnicodeUTF8));
text->setText(QApplication::translate("MainWindow", "Eingabe", 0, QApplication::UnicodeUTF8));
button->setText(QApplication::translate("MainWindow", "Kopieren & Einf\303\274gen", 0, QApplication::UnicodeUTF8));
Q_UNUSED(MainWindow);
} // retranslateUi
};
namespace Ui {
class MainWindow: public Ui_MainWindow {};
} // namespace Ui
#endif // AUFGABE01_H
Code: Alles auswählen
#include <QApplication>
#include <QMainWindow>
#include "aufgabe01.h"
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow( QWidget *parent = 0 );
private:
Ui::MainWindow _ui;
};
MainWindow::MainWindow( QWidget *parent )
: QMainWindow( parent )
{
_ui.setupUi( this );
}
int main( int argc, char **argv )
{
QApplication app( argc, argv );
MainWindow mw;
mw.show();
return app.exec();
}
#include "main.moc"
Denn meine Aufgabe ist es, eine ASCII DAT Datei mit der GUI zu öffnen und an eine parserFunction zu geben. Aber wie gesagt, ich möchte es erstmal hinbekommen, dass wenn ein Button gedrückt wird, eine Funktion aufgerufen werden soll.
Ich danke euch schon mal,
Mfg,
Hauke