ich bin gerade beim Einstieg in die Programmierung mit Qt und meine ersten Programme habe ich mit KDevelop und dem Qt-Designer 3.3.7 erstellt. Mit dem Qt3-Designer konnte ich bequem eigene Slots erstellen und mit dem entsprechenden Signal verbinden. Beim Qt4-Designer scheint das nicht zu funktionieren, ausser es bezieht sich auf Elemente wie z.B. Buttons, die auf der Form liegen. Nach einigem googlen habe ich mir selbst geholfen und die entsprechende Funktionalität sozusagen nachgebaut.
Ich habe ein einfaches Beispiel gebaut und möchte euch nun bitten, mir zu sagen, ob ich das so richtig gemacht habe oder wo eurer Meinung nach noch Kritik und Nachbesserungsbedarf angebracht ist. Ja, ich weiß...
Vielen Dank im vorraus.
So, hier ist das Beispiel:
Ich habe innerhalb eines KDevelop-Projektes eine Form mit dem Qt4-Designer erstellt. Darauf befinden sich einige PushButtons und ein TextEdit-Feld. Exemplarisch habe ich für einen Button mal ein Signal-Slot-Mechanismus erzeugt.
main.cpp
Code: Alles auswählen
#include <QApplication>
#include "qt4_textformat.h"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
Qt4_TextFormat * mw = new Qt4_TextFormat();
mw->show();
return app.exec();
}
Code: Alles auswählen
#ifndef QT4_TEXTFORMAT_H
#define QT4_TEXTFORMAT_H
#include <QWidget>
#include "ui_qt4_textformat_dlg.h"
//Extra Qt-Header
#include <qtextedit.h>
class Qt4_TextFormat : public QWidget, private Ui::Form
{
Q_OBJECT
public:
Qt4_TextFormat ( QWidget* parent = 0, Qt::WFlags fl = 0 );
~Qt4_TextFormat();
/*$PUBLIC_FUNCTIONS$*/
public slots:
/*$PUBLIC_SLOTS$*/
virtual void slotLoeschen(); //<--- ********
protected:
/*$PROTECTED_FUNCTIONS$*/
protected slots:
/*$PROTECTED_SLOTS$*/
};
#endif
Code: Alles auswählen
#include "qt4_textformat.h"
Qt4_TextFormat::Qt4_TextFormat ( QWidget* parent, Qt::WFlags fl )
: QWidget ( parent, fl ), Ui::Form()
{
setupUi ( this );
connect( pshbtnLoeschen, SIGNAL( clicked() ), this, SLOT( slotLoeschen() ) ); //<--- ********
}
Qt4_TextFormat::~Qt4_TextFormat()
{
}
/*$SPECIALIZATION$*/
void Qt4_TextFormat::slotLoeschen()
{
txtedtText->clear();
}
Beste Grüße,
Frau Kuchen