LineEdit - Cursor nach links schieben beim Reinklicken?
LineEdit - Cursor nach links schieben beim Reinklicken?
Hallo,
weiß jemand, wie man das anstellen kann, dass wenn jemand in ein LineEdit-Feld klickt, der Cursor immer linksseitig ausgerichtet wird. Habe da nämlich eine Eingabe-Maske drin und wenn er die Eingabe dann in der Mitte beginnt, reicht die Ziffernanzahl natürlich nicht mehr aus. Habe auch kein passendes Signal dafür in der Doku gefunden.
Gruß, Notwist
weiß jemand, wie man das anstellen kann, dass wenn jemand in ein LineEdit-Feld klickt, der Cursor immer linksseitig ausgerichtet wird. Habe da nämlich eine Eingabe-Maske drin und wenn er die Eingabe dann in der Mitte beginnt, reicht die Ziffernanzahl natürlich nicht mehr aus. Habe auch kein passendes Signal dafür in der Doku gefunden.
Gruß, Notwist
Gruß, Notwist
Code: Alles auswählen
Neo-
FlorianBecker
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten:
Siehe auch:
http://doc.trolltech.com/3.3/qlineedit. ... tAlignment
QLineEdit -> setAlignment ( int flag );
Qt::AlignLeft
Wobei mir gerade auffällt, das der Cursor doch sowieso immer Links beginnt? Du willst nicht zufällig von Rechts nach Links anstelle von Links nach Rechts schreiben?
Also ich will auch erklärt haben. Mit Code und Bild wenns geht.
http://doc.trolltech.com/3.3/qlineedit. ... tAlignment
QLineEdit -> setAlignment ( int flag );
Qt::AlignLeft
Wobei mir gerade auffällt, das der Cursor doch sowieso immer Links beginnt? Du willst nicht zufällig von Rechts nach Links anstelle von Links nach Rechts schreiben?
Also ich will auch erklärt haben. Mit Code und Bild wenns geht.
Wenn ich mit TAB da reinspringe, ja. Aber der User, der in meinem Fenster die Eingaben macht, kann ja auch mit der Mouse reinklicken und da klickt da ja eher selten ganz nach links, sondern eher in die Mitte des Feldes. Wenn er nun die Eingabe für eine 10er-Zahl beginnt, aber schon bei der Cursor-Position auf Digit 5 ist, passt das ja nicht mehr.
Versteht Ihr, was ich meine?
Müsste quasi eine Art Signal haben, dass, wenn in das Feld gesprungen wird (zB mit Mouse-Klick), soll er im Eingabefeld ganz nach links springen. Könnte natürlich auch einfach das Feld unbegrenzt lassen, aber das ist nicht so schön, find ich. Will das ja auch damit schon grob validieren.
Versteht Ihr, was ich meine?
Müsste quasi eine Art Signal haben, dass, wenn in das Feld gesprungen wird (zB mit Mouse-Klick), soll er im Eingabefeld ganz nach links springen. Könnte natürlich auch einfach das Feld unbegrenzt lassen, aber das ist nicht so schön, find ich. Will das ja auch damit schon grob validieren.
Gruß, Notwist
Code: Alles auswählen
Neo-
FlorianBecker
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten:
Musst mouseEnterEvent oder so ähnlich reimplementieren. Ein Signal gibt es dafür nicht. Und eine wirklich logische Begründung habe ich leider auch noch nicht gehört. Und verstehen? Eigentlich nicht. Welchen Sinn macht es den Maus Cursor immer nach links zu lenken, wenn schon etwas drinn steht? Wenn nix drinn ist, geht auch die mit Maus erreichten Cursors nach Links. Vielleicht würdest du uns unwissenden einmal die ganze Idee, dahinter erklären. Vielleicht auch in einer verständlichen Art und Weise.
Stimmt, wenn ich das mal überdenke. Wenn was drin steht, ist es natürlich Schwachsinn den nach links zu lenken.
Will halt einfach nur, dass der Cursor beim ersten Reinklicken bei einem leeren Feld ganz links steht. Genau das, was Du gesagt hast, will ich, also auch bei nem MouseKlick. Das macht er aber nicht. Auch nicht mit dem Zusatz:
this->dataValueLineEdit->setAlignment ( Qt::AlignLeft );
Wenn Ihr das Antwort-Formular auf dieser Seite betrachtet und oben bei Titel mit der Mouse reinklickt, passiert genau das, was ich haben will.
Bei mir springt der Cursor aber immer an die Position, wo man im LineEdit hinklickt & eben nicht nach links!
Will halt einfach nur, dass der Cursor beim ersten Reinklicken bei einem leeren Feld ganz links steht. Genau das, was Du gesagt hast, will ich, also auch bei nem MouseKlick. Das macht er aber nicht. Auch nicht mit dem Zusatz:
this->dataValueLineEdit->setAlignment ( Qt::AlignLeft );
Wenn Ihr das Antwort-Formular auf dieser Seite betrachtet und oben bei Titel mit der Mouse reinklickt, passiert genau das, was ich haben will.
Bei mir springt der Cursor aber immer an die Position, wo man im LineEdit hinklickt & eben nicht nach links!
Gruß, Notwist
Code: Alles auswählen
Neo-
FlorianBecker
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten:
Ist die 3.3.3 Version. Habs unter Designer erstellt.FlorianBecker hat geschrieben:Äh?
Dann ist das aber eine verbuggte Qt Version. Denn das passiert zumindest bei der C++ Version weder unter Linux noch unter Windows.
Gruß, Notwist
Code: Alles auswählen
NeoStimmt Goos, daran lags. InputMask rausgenommen, Feature wieder da. Naja, irgendwie schade. Dann muss ich mich wohl mit dem Validator beschäftigen. Danke Euch beiden für die Hilfe und dass Ihr meinen diffusen Erklärungen mal wieder ein offenes Ohr geschenkt habt! 
Bis bald! (hoffentlich nicht, was?)
Bis bald! (hoffentlich nicht, was?)
Gruß, Notwist
Code: Alles auswählen
Neo