Mausbewegung beschränken - nur innerhalb des Fensters

Fragen zu Tkinter.
Antworten
msmn
User
Beiträge: 31
Registriert: Samstag 13. Juli 2019, 07:15

Montag 11. November 2019, 12:15

kann man bitte...(bzw wie) die Mausbewegungen bei TKinter beschränken, sodass die Maus sich NUR INNERHALB eines erstellten/geöffneten TKinter-Fensters (zB Buttons) bewegen kann? (und wenn dieses Fenster dann wieder geschlossen ist...dann wieder über den gesamten Bildschirmbereich)
Danke im Voraus
Manfred
__deets__
User
Beiträge: 6865
Registriert: Mittwoch 14. Oktober 2015, 14:29

Montag 11. November 2019, 12:21

Mit Bordmitteln geht das nicht. Und als Benutzer würde ich mich schön bedanken über so eine Gängelung. Wir leben in Seiten des Multitaskings. Wenn deine Anwendung meint, das einzig wichtige auf der Welt zu sein, mach sie gleich Full-Screen.

Wenn du trotzdem darauf bestehst, musst du für dein verwendetes OS recherchieren, wie man so etwas mit den System-APIs hinbekommen kann.
msmn
User
Beiträge: 31
Registriert: Samstag 13. Juli 2019, 07:15

Montag 11. November 2019, 12:59

ok....danke.

kurze Erklärung noch:
ich habe eine "Hauptebene" (mit Grid/Buttons).....wenn dann einer der Buttons in der Hauptebene gedrückt ist, kommt eine Unterauswahl (wieder Grid/Buttons), in welcher eine Unter-Auswahl zu treffen ist....damit sich eben dieses Auswahlfenster wieder schliesst.
Derzeit kann es aber vorkommen, dass eben auf der Hauptebene "mehrere, unterschiedliche" Buttons gedrückt werden...und somit mehrere Unterauswahl-Fenster aufpoppen (was für meine Anwendung eben nicht zielführend ist)

vielleicht frage ich dann besser ab, ob eben bereits ein Auswahlfenster geöffnet ist.....

Manfred
Benutzeravatar
__blackjack__
User
Beiträge: 4681
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Montag 11. November 2019, 13:04

@msmn: Oder Du nimmst für das aufpoppende Fenster einen modalen Dialog, also einen bei dem nur dieses Fenster von Deiner Anwendung noch auf Eingaben reagiert. Das ist der normale Weg so etwas zu lösen. Der Benutzer kann dann auch weiterhin seine Maus hinbewegen wo er will, und insbesondere auch *andere* Anwendungen benutzen.
“Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life.”
— Terry Pratchett, Jingo
__deets__
User
Beiträge: 6865
Registriert: Mittwoch 14. Oktober 2015, 14:29

Montag 11. November 2019, 13:17

Was __blackjack__ sagt. Modale Dialoge sind zwar auch nicht super duper, weil eben der Benutzer dann nur eine Sache machen kann in der Anwendung. Aber manchmal nicht zu vermeiden. Ob es in deinem Fall wirklich so ist, oder ob nicht zb eine Detailansicht unter dem Grid die dann je nach Anwahl sich ändert die bessere Alternative wäre (muss eben nicht weg geklickt werden) - das kann man so natürlich nicht sagen.
msmn
User
Beiträge: 31
Registriert: Samstag 13. Juli 2019, 07:15

Montag 11. November 2019, 20:20

danke...."modaler Weg" klingt interessant...muss ich mir genauer anschauen (oder ist das nur eine Befehlsangabe beim Grid-Button?)
Manfred
__deets__
User
Beiträge: 6865
Registriert: Mittwoch 14. Oktober 2015, 14:29

Montag 11. November 2019, 20:37

Der Button hat genau nichts damit zu tun. Es ist eine Eigenschaft von Dialogen bzw Toplevel Fenstern. Die können modal sein, und fangen dann alle Eingaben ab, bis sie geschlossen sind. Ob die aber auf Knopfdruck oder dem überschreiten einer bestimmten relativen Mondfeuchte entstanden sind, hat damit nichts zu tun.
Antworten