Я создал текстовое поле в графическом интерфейсе, в котором прокрутка колесика мыши работает, когда курсор мыши находится на виджете текстового поля. Я хочу иметь возможность сделать это, когда курсор мыши не находится в виджете текстового поля. У меня есть несколько ярлыков с наведением мыши на события. Иногда текст слишком длинный для всего виджета текстового поля, а это означает, что мне приходится прокручивать вниз, пока курсор мыши находится на моей метке. Причина этого в том, что текст удаляется, когда курсор мыши больше не находится на метке, поэтому прокрутка должна выполняться, пока она находится на метке.
def mousewheel(event):
textbox.yview_scroll(-1*(event.delta/120), "units")
textbox = Text(ctr_mid, height=30, width=60, font="Arial")
textbox.grid(row=6,sticky=S)
textbox.bind_all("<MouseWheel>", mousewheel)
Я искал решения в Интернете и нашел функцию мышиного колеса в Интернете, но при попытке выполнить ее я получаю эту ошибку:
Traceback (most recent call last):
File "C:\Users\Homie\AppData\Local\Programs\Python\Python36-
32\lib\tkinter\__init__.py", line 1699, in __call__
return self.func(*args)
File "C:\Users\Homie\PycharmProjects\bluescreen\Game.py", line 402, in
mousewheel
self.textbox.xview_scroll(-1*(event.delta / 120), "units")
File "C:\Users\Homie\AppData\Local\Programs\Python\Python36-
32\lib\tkinter\__init__.py", line 1724, in xview_scroll
self.tk.call(self._w, 'xview', 'scroll', number, what)
_tkinter.TclError: expected integer but got "1.0"
Это мой первый пост здесь, поэтому прошу прощения, если допустил какие-то ошибки.
bind_all
в корневой (tk.Tk
) виджет. - person Daniel   schedule 12.12.2017expected integer but got "1.0"
, поэтому используйтеprint()
, чтобы проверить все переменные и посмотреть, какая из них имеет"1.0"
- person furas   schedule 12.12.2017textbox.yview_scroll(int(-1*(event.delta/120)), "units")
или добавьте минимальный пример, который воспроизводит ту же ошибку, в новом вопросе. - person Nae   schedule 12.12.2017