Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » KDevelop / Qt / wxWidget » Scheinbar kein Plan von Slots und so

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
26.08.2004, 19:54 Uhr
killerjoe



Hallo nochmal!

Ich muss doch nochmal nachfragen. Wenn ich ein QLineEdit habe, wie kann ich erreichen das man erkennen kann das die ESC-Taste gedrückt wurde? QLineEdit bietet doch von sich auch nur 5 Slots, und das das Element mit auch "Enter" reagieren kann kann es doch auch nicht sein, oder?

Vielen dank von einem Ratlosen!
Markus
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
26.08.2004, 21:27 Uhr
~MisterB
Gast


Richtig, QLineEdit bietet nur eine bestimmte Anzahl Slots. Aber QLineEdit ist (wenn auch über 2 Ecken) von QWidget abgeleitet. Und hier gibt es Methoden wie keyPressEvent, oder mousePressEvent, welche Du überschreiben kannst.

Gruß

MisterB

Links:

www.qtforum.de (Deutschsprachiges QtForum)
www.qtforum.org (Englischsprachiges QtForum)
http://doc.trolltech.com/3.3/qwidget.html
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
19.09.2004, 16:22 Uhr
killerjoe



Sorry das ich da immer noch dran hänge, aber wie kann ich es erreichen das ein keyPressEvent überschreibe bei einem QLineEdit?
Kann mir da jemand hilfe mit ein bisschen Code geben? Meistens reicht ein kleiner tipper damit ich ich dann endlich weiter komme.

Danke!
Markus
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
20.09.2004, 06:58 Uhr
typecast
aka loddab
(Operator)


Jo, das is ganz einfach:


C++:
class myLineEdit : public QLineEdit {
//...
protected:
      virtual void keyPressEvent(QKeyEvent * e);
//...
};
...
void myLineEdit::keyPressEvent(QKeyEvent* e) {
// mach was
}



und schon ist es fertig
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
20.09.2004, 07:24 Uhr
killerjoe



und der code der dann unter dem keyPressEvent() steht wird dann auch nur ausgeführt wenn das QLineEdit Element den Focus hat? Also ich meine ich kann 10 dieser Elemente schaffen, allen anderen keyPressEvent()-Code einflössen und alle 10 machen dann was anderes wenn das jeweilige Element den Focus hat?

Danke aber erstmal!
Markus
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
20.09.2004, 08:04 Uhr
typecast
aka loddab
(Operator)


Also erstens wird nur der Code von dem Lineedit ausgefuehrt, der momentan den Focus hat.

Wenn du jetzt 10 verschiedene Klassen von QLineEdit ableitest (und in alle einen anderen Code in keyPressEvent() reinschreibst), dann machen auch die Instanzen der verschiedenen Klassen natuerlich auch was unterschiedliches
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
21.09.2004, 11:32 Uhr
killerjoe



Ach ja, es klappt wunderbar - Danke soweit!
Aber: Kann ich meine angeleiteten QLineEdit Objekte auch mit dem QTDesigner benutzen? Muss ich die da erst importieren oder geht das garnicht?

Markus
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ KDevelop / Qt / wxWidget ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: