gpt4 book ai didi

python - Pandastable 表无法使用向下键自动向下滚动

转载 作者:太空宇宙 更新时间:2023-11-03 14:09:55 24 4
gpt4 key购买 nike

我正在使用 pandastable 将 CSV 中的数据显示为 Tkinter GUI 作为表结构。该表有垂直和水平滚动条。使用鼠标滚动条可以正常工作。当我按向下键时,焦点转到下一行。但是,滚动条不能与向下键一起使用。 Pandastable 中没有实现此功能还是我做错了什么?

示例:

from tkinter import *
from pandastable import Table, TableModel

class TestApp(Frame):
def __init__(self, parent=None):
self.parent = parent
Frame.__init__(self)
self.main = self.master
self.main.geometry('600x400+200+100')
self.main.title('Table app')
f = Frame(self.main)
f.pack(fill=BOTH,expand=1)
df = TableModel.getSampleData()
self.table = pt = Table(f, dataframe=df, showtoolbar=True, showstatusbar=True)
pt.show()
return

app = TestApp()
#launch the app
app.mainloop()

最佳答案

作为一个想法

../dist-packages/pandastable/core.py

 def handle_arrow_keys(self, event):


if event.keysym == 'Up':
if self.currentrow == 0:
return
else:
#self.yview('moveto', y)
#self.rowheader.yview('moveto', y)
event.widget.config(yscrollincrement = self.rowheight)
self.rowheader.config(yscrollincrement = self.rowheight)
self.currentrow = self.currentrow -1
event.widget.yview_scroll(-1, UNITS)
self.rowheader.yview_scroll(-1, UNITS)
self.redrawVisible()
elif event.keysym == 'Down':
if self.currentrow >= self.rows-1:
return
else:
#self.yview('moveto', y)
#self.rowheader.yview('moveto', y)
event.widget.config(yscrollincrement = self.rowheight)
self.rowheader.config(yscrollincrement = self.rowheight)
self.currentrow = self.currentrow +1
event.widget.yview_scroll(1, UNITS)
self.rowheader.yview_scroll(1, UNITS)
self.redrawVisible()

仅滚动一行:.config(yscrollincrement = self.rowheight)
来自

def mouse_wheel(self, event):

event.widget.yview_scroll(-1, UNITS)
self.rowheader.yview_scroll(-1, UNITS)
self.redrawVisible()

关于python - Pandastable 表无法使用向下键自动向下滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48586539/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com