[gelöst]qt bei Return Prozedur aufrufen
-
- Beiträge: 1973
- Registriert: 16.08.2005 18:15:29
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: münchen
[gelöst]qt bei Return Prozedur aufrufen
Meine Wenigkeit hat eine Maske
und würde gerne bei Betätigen der Return-Taste eine Prozedur aufrufen
(Bisher muss ich mit der Maus den Suchen-Button betätigen, eigentlich an Position sein müsste)
und würde gerne bei Betätigen der Return-Taste eine Prozedur aufrufen
(Bisher muss ich mit der Maus den Suchen-Button betätigen, eigentlich an Position sein müsste)
Zuletzt geändert von mampfi am 06.10.2015 23:07:48, insgesamt 1-mal geändert.
Es gibt viele Foren und eine Welt ausserhalb
Re: qt bei Return Prozedur aufrufen
Kurzfassung:
Eventfilter und z.B.
die Qt Doku und das Internet wissen mehr, da z.B.
https://wiki.qt.io/How_to_catch_enter_key/de
http://doc.qt.io/qt-5.5/eventsandfilters.html
Ps: hat "die Frage hier stellen" nicht länger gedauert, als mal eben "qt key press" in $Suchmaschine einzugeben?
Eventfilter und z.B.
Code: Alles auswählen
void FooBar::keyPressEvent(QKeyEvent *event) {
if (event->key() == Qt::Key_Return) {
//mach was
}
}
https://wiki.qt.io/How_to_catch_enter_key/de
http://doc.qt.io/qt-5.5/eventsandfilters.html
Ps: hat "die Frage hier stellen" nicht länger gedauert, als mal eben "qt key press" in $Suchmaschine einzugeben?
-
- Beiträge: 1973
- Registriert: 16.08.2005 18:15:29
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: münchen
Re: qt bei Return Prozedur aufrufen
Ich hab nach was anderem gesucht.
Hab ein bißchen trouble beim Einbinden in die "Programmgeografie".
Das foobar wäre dann wohl MainWindow stimmts?
Hab ein bißchen trouble beim Einbinden in die "Programmgeografie".
Das foobar wäre dann wohl MainWindow stimmts?
Es gibt viele Foren und eine Welt ausserhalb
Re: qt bei Return Prozedur aufrufen
"kommt drauf an"
Jenachdem welches "Objekt" die Tastendrücke verarbeiten soll. Deswegen hatte ich den Eventfilter Abschnitt mit verlinkt, lies das mal in Ruhe (evtl auch mehrfach), dann sollte Dir klarwerden, wie die Sachen zusammenspielen.
Wenn Du ausführlichen Beispielcode brauchst, schau Dir das "Tetrix" Beispiel an.
Jenachdem welches "Objekt" die Tastendrücke verarbeiten soll. Deswegen hatte ich den Eventfilter Abschnitt mit verlinkt, lies das mal in Ruhe (evtl auch mehrfach), dann sollte Dir klarwerden, wie die Sachen zusammenspielen.
Wenn Du ausführlichen Beispielcode brauchst, schau Dir das "Tetrix" Beispiel an.
-
- Beiträge: 1973
- Registriert: 16.08.2005 18:15:29
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: münchen
Re: qt bei Return Prozedur aufrufen
Der kreative Kopf war immer schlecht im Lesen von fremden Quellcodes und dem Finden der richtigen Stelle.
Ausführlichere Erklärung:
Ich hab eine Maske mit den Feldern der Adressverwaltung, die gleichzeitig als Suchmaske dient.
z.B.
lineEdit_nachname
lineEdit_vorname
In "MainWindow::MainWindow(QWidget *parent) ... " werden Buttons mit Prozeduren verknüpft nach der Methode:
connect(ui->pushButton_prev, SIGNAL(clicked()), SLOT(sub_prev() ));
connect(ui->pushButton_next, SIGNAL(clicked()), SLOT(sub_next() ));
connect(ui->pushButton_suchen, SIGNAL(clicked()), SLOT(sub_suchen()));
wo wäre die Routine dann einzubauen?
Die bisher ausprobierten 16 Permutationen haben leider nicht funktioniert.
Aktueller Stand: Beim Test des Kompilats auf dem Hauptrechner wird Return ausgelöst, hab mit dem creator im qdesigner-Menü auf return eingestellt, weiß aber leider nicht mehr wo.
Ausführlichere Erklärung:
Ich hab eine Maske mit den Feldern der Adressverwaltung, die gleichzeitig als Suchmaske dient.
z.B.
lineEdit_nachname
lineEdit_vorname
In "MainWindow::MainWindow(QWidget *parent) ... " werden Buttons mit Prozeduren verknüpft nach der Methode:
connect(ui->pushButton_prev, SIGNAL(clicked()), SLOT(sub_prev() ));
connect(ui->pushButton_next, SIGNAL(clicked()), SLOT(sub_next() ));
connect(ui->pushButton_suchen, SIGNAL(clicked()), SLOT(sub_suchen()));
wo wäre die Routine dann einzubauen?
Die bisher ausprobierten 16 Permutationen haben leider nicht funktioniert.
Aktueller Stand: Beim Test des Kompilats auf dem Hauptrechner wird Return ausgelöst, hab mit dem creator im qdesigner-Menü auf return eingestellt, weiß aber leider nicht mehr wo.
Es gibt viele Foren und eine Welt ausserhalb
Re: qt bei Return Prozedur aufrufen
Daran sollte der Kopf dringend was ändern, ab nem gewissen Punkt wirst Du nichts mehr vorgekaut bekommen.Der kreative Kopf war immer schlecht im Lesen von fremden Quellcodes und dem Finden der richtigen Stelle.
Das Tetrix Beispiel ist ziemlich ausführlich kommentiert, http://doc.qt.io/qt-5/qtwidgets-widgets ... ample.html
Überhaupt sind in der Qt Doku nen paar Beispiele, in denen Dir Zeile für Zeile erklärt wird, warum das da steht. Nimm Dir mal nen Nachmittag um die durchzuarbeiten. Das hilft wirklich die Konzepte zu verstehen.
Den sonstigen Code und die ersten paar Versuche zeigen, dann kann man erklären wo Dein "Denkfehler" sitzt. Wildes rumprobieren wird Dich spätestens wenns etwas komplexer wird nicht mehr zum Ziel führen.Die bisher ausprobierten 16 Permutationen haben leider nicht funktioniert.
Erstmal gibts zur Zeit zwei Arten die Verbindungen zu setzen, ich mag die alte lieber, die neue hat aber auch ihre Vorteile [1,2].
alte Syntax: QObject::connect(&a, SIGNAL(valueChanged(int)), &b, SLOT(setValue(int)));
neue Syntax: QObject::connect(&a, &Counter::valueChanged, &b, &Counter::setValue);
siehe http://doc.qt.io/qt-4.8/signalsandslots.html und http://doc.qt.io/qt-5.5/signalsandslots.html
z.B. rechte Maustaste auf nen Button und "Slot anzeigen" auswählen oder unten in der Mitte im "Signale und Slots"-Tab einstellenAktueller Stand: Beim Test des Kompilats auf dem Hauptrechner wird Return ausgelöst, hab mit dem creator im qdesigner-Menü auf return eingestellt, weiß aber leider nicht mehr wo.
[1] http://woboq.com/blog/how-qt-signals-slots-work.html
[2] http://woboq.com/blog/how-qt-signals-sl ... 2-qt5.html
-
- Beiträge: 1973
- Registriert: 16.08.2005 18:15:29
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: münchen
Re: qt bei Return Prozedur aufrufen
Na ich hab nach dem Durchprobieren meist den vorherigen Zustand wiederherstellt (es wird quasi jede Änderung gesichert).
Somit vermeide ich den Spaghetti-Code. (Ist allerdings trotzdem nervig).
Das Ursprungsprojekt "wie baut man heuzutage Masken" hat ja schon zu einer Anwendung geführt.
Allerdings etwas "ferngesteuert".
"qt-Weiterbildungspause" wäre wirklich mal vonnöten.
Somit vermeide ich den Spaghetti-Code. (Ist allerdings trotzdem nervig).
Das Ursprungsprojekt "wie baut man heuzutage Masken" hat ja schon zu einer Anwendung geführt.
Allerdings etwas "ferngesteuert".
"qt-Weiterbildungspause" wäre wirklich mal vonnöten.
Es gibt viele Foren und eine Welt ausserhalb
-
- Beiträge: 1973
- Registriert: 16.08.2005 18:15:29
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: münchen
Re: [gelöst]qt bei Return Prozedur aufrufen
Problem gelöst.
Alle Befragten bzw. Leser sollen von der Lösung profitieren:
http://www.qtforum.de/forum/viewtopic.p ... 003#p80003
Die von eggy empfohlene Lektüre wird trotzdem nicht verweigert.
Herzlichen Dank
Alle Befragten bzw. Leser sollen von der Lösung profitieren:
http://www.qtforum.de/forum/viewtopic.p ... 003#p80003
Die von eggy empfohlene Lektüre wird trotzdem nicht verweigert.
Herzlichen Dank
Es gibt viele Foren und eine Welt ausserhalb