Tkinter -Ereignisse - Modifikator verschieben mit Mausrad?Python

Python-Programme
Guest
 Tkinter -Ereignisse - Modifikator verschieben mit Mausrad?

Post by Guest »

Ist es möglich, die Verschiebung und das Mausrad zu binden? Ich hätte es so gedacht, aber ich mache etwas falsch. No-modifier an der linken Maustaste (

Code: Select all

Button-1
) und das Scroll -Rad stieg auf ((

Code: Select all

Button-4
).

Code: Select all

import tkinter as tk

root = tk.Tk()
label = tk.Label(root)
label.grid(row=0, column=0, sticky='nsew')
label.config(text='Mouse Wheel with Modifiers')

def show_event(event, desc=''):
label.config(text=desc + ' ' + str(event))
print(desc + ' ' + str(event))

label.bind('', lambda event, desc='Shift+Click': show_event(event, desc))
label.bind('', lambda event, desc='Control+Click': show_event(event, desc))
label.bind('', lambda event, desc='Alt+Click': show_event(event, desc))
label.bind('', lambda event, desc='[]+Click': show_event(event, desc))

label.bind('', lambda event, desc='Shift+Wheel': show_event(event, desc))
label.bind('', lambda event, desc='Control+Wheel': show_event(event, desc))
label.bind('', lambda event, desc='Alt+Wheel': show_event(event, desc))
label.bind('', lambda event, desc='[]+Wheel': show_event(event, desc))
root.mainloop()
< /code>
Wenn ich die Aktionen durchführe, damit ich < /p>
bekommeShift+Click 
Control+Click 
Alt+Click 
[]+Click 

### []+Wheel 
Control+Wheel 
Alt+Wheel 
[]+Wheel 
wobei die mit ### vorangestellte Zeile mit dem Rad aufgedreht wurde. Ich hätte erwartet, dass Shift+Wheel hier sehen würde. Bindung, aber ich kann es nicht sehen. Es ist eindeutig möglich, ein Mausereignis an die Verschiebung von zu binden und auch andere Modifikatoren an das Mausrad zu binden. BR /> Testen auf einer anderen Maschine (Ubuntu 24.04, Python 3.12, TKinter 8.6) zeigt das richtige Ergebnis (dh < /code>). Dies funktioniert also zumindest in einigen Konfigurationen auf Ubuntu. Python 3.13 auf dem Problemautomaten hat das ursprüngliche Problem. als Buttonpressereignis mit Status 0x2010, Taste5 und Status 0x2014, Taste 5 . (Ich habe beim Testen in die andere Richtung geprüft, sorry). jedoch , Shift+Scroll kam als Status 0x2011, Taste 7 . : Es ist Ubuntu 20.04, das als VM (VirtualBox 7.0.6 mit Gastzusammenhältern) auf einem Mac OS -Host (11.7.1) ausgeführt wird. Ich frage mich, ob Shift+Scroll (was auf einem Mac in der Übersetzung verstümmelt wird. ist ein (9-jähriger, noch offener) Bericht, dass horizontales Scrollen auf einem Linux-Gast-/Mac-OS-Host mit VirtualBox nicht funktioniert. > oder . Ich kann an und binden, aber diese fangen nichts an.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post