Original geschrieben von ZockerM
Hi!
Ich hätte schon ein bisschen früher geantwortet, aber diese blöde Schule...
Schule? hmmm, wie lang ist's her?
Gut, ich habe eine Klasse von der vom QT-Designer erstellen Header-Datei erstellt....
???
du sollst eine klasse ableiten, die von im Designer erstellten deinem ui-File kommt.
nehmen wir an, du hast im Designer eine simples Fenster erstellt (Hello World? ), welches 'ui_hello' heißt.
dann erstellst du dir eine klesse, die dann myHello genannt wird.
Code:
hello.cpp
---
myHello::myHello( QWidget* parent, const char* name, WFlags fl )
: ui_hello( parent, name, fl )
{
damit hast du schon mal die funktionalität von ui_hello in deiner myHello -Klasse.
und in den Konstruktor von myHello schreibst du dann die connections
Code:
hello.cpp
---
connect( (QObject*)tbClose, SIGNAL( clicked() ), this, SLOT( slotClose() ) );
Dabei achtest du drauf, das sowohl SIGNAL, als auch SLOT die selben Funktionsaufrufen haben!!!! ganz wichtig.
falsch:
Code:
connect( (QObject*)action, SIGNAL( activated() ), this, SLOT( slotAction( QString ) ) );
richtig:
Code:
connect( (QObject*)action, SIGNAL( activated( QString ) ), this, SLOT( slotAction( QString ) ) );
Den Slot definierst du dann aber in 'hello.h'
Code:
hello.h
---
class myHello: public ui_hello
{
Q_OBJECT
public:
myHello( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
~myHello();
public slots:
void slotClose();
und slotClose() kannst du dann ganz normal auscoden ...
Code:
hello.cpp
---
void myHello::slotClose()
{
printf( "slotClose()\ntest" );
this->close();
}
Oder habe ich jetzt was falsch gemacht, oder falsch verstanden?
[/B][/QUOTE]
entweder du, oder ich
Vielen Dank für eure Geduld.
no problem ...
nur über die feiertage wird die reaktionszeit extrem lang
man hat ja auch familie ...
Lesezeichen