Ich habe entdeckt, dass tk.Scrollbar
mit Einsatz von Touch ermöglicht die Rolle auf einem Text-Widget. Als ich die Grafiken meiner Anwendung überarbeitete, konnte ich Touch nicht mehr verwenden, um das Text-Widget zu scrollen, das stattdessen ttk.Scrollbar
verwendete.No Touch-Scrolling bei der Verwendung von `ttk.scrollbar` über` tk.scrollbar`
Ich bin sicher, es ein Unterschied zwischen der Widgets ist, weil ich zwischen den beiden umgeschaltet habe, als das Problem zu testen.
Dass gesagt wird es kein großes Problem, da nur eine Handvoll Geräte wird dieses Programm installiert werden, auf wird Touch-Fähigkeiten haben.
Gibt es eine Möglichkeit Touch auf einem ttk.scrollbar
zu bekommen?
EDIT: Relevante Abschnitt von Code: EDIT # 2:
self.text=tk.Text(self,font=("Consolas","11"),wrap="none",undo=True,bg="white",relief="flat")
self.numb=tk.Text(self,font=("Consolas","11"),wrap="none",width=4,relief="flat")
self.vsb=ttk.Scrollbar(self,command=self.scroller)
self.hsb=ttk.Scrollbar(self,command=self.text.xview,orient="horizontal")
self.text.configure(yscrollcommand=self.on_textscroll,xscrollcommand=self.hsb.set)
self.numb.config(bg="grey94",yscrollcommand=self.on_textscroll)
def scroller(self,*args):#Move me
self.text.yview(*args)
self.numb.yview(*args)
def on_textscroll(self, *args):#Move me
self.vsb.set(*args)
self.scroller('moveto', args[0])
Um dies richtig zu bekommen. Was genau bezeichnen Sie als "erlaubt die Verwendung der Berührung zum Scrollen"? In den meisten Geräten verwenden Touch-Implementierungen ein "Klick" -Verhalten. Meinst du damit, dass du auf eine bestimmte Position innerhalb des Scrollbalken-Widgets klickst, um den Schieberegler in diese Richtung zu bewegen? – R4PH43L
@ R4PH43L Sorry, ich hätte angeben sollen, dass dies über das Text-Widget selbst erfolgt. Darunter verstehe ich das Auf- und Abbewegen wie auf einem Word-Dokument oder im Notizblock. Es funktioniert, wenn die Bildlaufleisten tk sind, nur nicht ttk. –
Ok. Können Sie die Implementierung posten, die Sie in Ihrer Anwendung verwendet haben? – R4PH43L