Python newbie здесь - я не очень понимаю, как работают создание классов и init , может быть, это прояснит мне.
Мне интересно, можно ли адаптироватьэтот код отсюда: Заставить ползунок TkInter Scale привязать мышь и использовать его с PySimpleGUI. Я знаю, что PySimpleGUI использует tkinter, этот код адаптирует модуль масштабирования tkinter для переназначения щелчка правой кнопкой мыши левой кнопкой мыши:
import tkinter as tk
from tkinter import ttk
class Scale(ttk.Scale):
"""a type of Scale where the left click is hijacked to work like a right
click"""
def __init__(self, master=None, **kwargs):
ttk.Scale.__init__(self, master, **kwargs)
self.bind('<Button-1>', self.set_value)
def set_value(self, event):
self.event_generate('<Button-3>', x=event.x, y=event.y)
return 'break'
def show_values():
print('w1 set to',w1.get())
##### etc... #####
w1 = Scale(f1, to=7, orient=tk.VERTICAL)
w1.grid(row = 1, column = 1, rowspan = 8, pady=5, padx=2, sticky='nsew')
Минимальный PySimpleGUI с ползунком:
import PySimpleGUI as sg
# Window layout
layout = [[sg.Slider(range=(1,100),
resolution=10,
default_value=100,
size=(9,7),
orientation='horizontal',
enable_events=True)]]
window = sg.Window('Window Title', layout, no_titlebar=True,
keep_on_top=True)
event, values = window.Read(timeout=300)
##### etc... #####
Как я могу заставить Слайдер получать щелчок правой кнопкой мыши вместо щелчка левой кнопкой мыши, используя это или другим способом?