SetFocus() Verständnisproblem



  • @M-W

    Funktioniert folgende Zeile?

    ui->lineEdit_2->setFocus();
    

    Wenn nicht, welche Fehlermeldung wird angezeigt. Falls keine Fehlermeldung: erhält das Widget den Fokus nicht?



  • @M-W
    Wenn ich das so lese, bekomme ich ein geistiges Schleudertrauma. Kurz, ich kann Dir einfach nicht folgen.



  • @DocShoe
    es kommt keine Fehlermeldung, ich vermute mal wenn das Wiget den Focus erhalten würde könnte ich evtl., die Eingabe ändern.



  • Was liefert hasFocus() denn nach setFocus() zurück?



  • Sorry, höre hasFocus() zum ersten mal wie binde ich das den ein. Einfach so

      ui->lineEdit_2->hasFocus();
    


  • @M-W
    Doku lesen, selber testen. Du verwechselst das Forum mit einem Compiler.



  • @DocShoe trotzdem dank das hat damit nichts zu tun, was bedeute den das?

    Ist QLineEdit hidden wird kein setFocus angenommen

    Wo soll es versteckt sein



  • @M-W
    Ich beobachte bei dir eine Tendenz, Dinge die du nicht verstehst einfach irgendwie auszulegen, und mit dieser Auslegung einfach munter weiterzuamchen. Ohne nachfragen, ohne ernsthaften Versucht es zu verstehen. So kann man nicht sinnvoll programmieren. Und so kann man auch nicht sinnvoll Fragen in einem Programmierforum stellen.

    Dieses Verhalten motiviert halt so gar nicht dir zu helfen.



  • @hustbaer
    Das ist alles auslegungssache, der eine macht aus allem eine Doktorarbeit, aber das Problem muss trotzdem gelöst werden, es führen mehrere weg nach Rom.
    Wenn man in einen Forum schon keine Fragen mehr fragen darf, weiß ich nicht ob man noch motiviert ist fragen zu fragen.



  • @M-W
    Nein, das ist keine Auslegungssache. Du arbeitest wirr und planlos. Dieser Weg führt nur dann nach Rom wenn du genug Dumme findest die dir helfen, obwohl du es durch die Art wie du agierst extrem schwer machst.

    Wenn man in einen Forum schon keine Fragen mehr fragen darf, weiß ich nicht ob man noch motiviert ist fragen zu fragen.

    Du darfst Fragen stellen. Du hast Fragen gestellt. Es wurde ehrlich versucht dir zu helfen. So wie du reagierst, macht das aber keinen Spass. Und keinen Sinn, denn du lernst nix dabei. Du darfst auch gerne so weitermachen. Und ich darf dich auch gerne auf meine Ignore-Liste setzen.

    Und das wäre dann das. Schönes Leben noch.



  • @M-W sagte in SetFocus() Verständnisproblem:

    Habe eine Vermutung das ich auf das lineEdit keinen zugriff habe, und das dadurch setFocus() nicht ausgelöst wird. Wahrscheinlich muss ich einen Zeiger vereinbaren für das QLineEdit, aber in meiner Welt ist das lineEdit_2 schon ein Wigets.

    🤣

    Du kannst auf dem LineEdit auch einen QValidator setzen, z.B. QDoubleValidator. Oder selber von QValidator ableiten und weitere Bedingungen prüfen, z.B. wenn die ausgewählte Operation eine Division ist, dann darf man keine 0 eingeben, ansonsten schon.



  • @M-W sagte in SetFocus() Verständnisproblem:

    Bin gerade am ausprobieren was setFocus() überhaupt macht und welche Bedinungen ich brauche um es auszulösen.

    Gives the keyboard input focus to this widget (or its focus proxy) if this widget or one of its parents is the active window

    Ich wüsste jetzt auch nicht wie ich es dir besser erläutern könnte, als in der Doku. Ich kann es dir auf deutsch übersetzen, wenn das das Problen ist?
    Stell dir ein Formular vor, wo du deinen Namen, Nachnamen, Alter etc. eingibst. Wenn du die Tab Taste drückst, kommst du ja in der Regel von einem Input Feld in das nächste. Daher du kannst das Formular komplett ohne Maus ausfüllen, weil du nur mit der Tastatur den Fokus ändern kann.
    Der Fokus ist hier das aktive Element, wenn du also tippst, kommen deine Zeichen auf der Tastatur bei dem Input Feld mit dem Fokus an.

    Mein erste Vermutung wäre also eher, dass "setFocus" nicht wirklich ist, was du brauchst. Du willst ja vermutlich eher das Input Feld rot umranden und ne Fehlermeldung anzeigen.
    Aber dazu wurden dir ja schon Tipps gegeben.



  • @M-W sagte in SetFocus() Verständnisproblem:

    Habe eine Vermutung ...

    Ich habe eine ganz andere Vermutung.
    Don´t feed the troll.


Log in to reply