когда я пытаюсь вставить данные в ячейку на первой вкладке, я получаю ошибку
`
Код: Выделить всё
import pandas as pd
from pandastable import Table
import tkinter as tk
from tkinter import ttk
class PandasTableApp(tk.Tk):
def __init__(self):
super().__init__()
self.title("PandasTable in Tabs")
self.geometry("800x600")
# Sample DataFrames
data1 = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}
df1 = pd.DataFrame(data1)
data2 = {'X': [10, 20, 30], 'Y': [40, 50, 60], 'Z': [70, 80, 90]}
df2 = pd.DataFrame(data2)
# Create Tab Control
tab_control = ttk.Notebook(self)
tab1 = ttk.Frame(tab_control)
tab2 = ttk.Frame(tab_control)
tab_control.add(tab1, text='Tab 1')
tab_control.add(tab2, text='Tab 2')
tab_control.pack(expand=1, fill='both')
# Create PandasTable instances
self.table1 = Table(tab1, dataframe=df1)
self.table2 = Table(tab2, dataframe=df2)
self.table1.show()
self.table2.show()
# Bind events for each table
self.table1.bind("", self.handle_return_table1)
self.table2.bind("", self.handle_return_table2)
def handle_return_table1(self, event):
# Custom handler for the Enter key event for table1
self.table1.handle_arrow_keys(event)
return "break"
def handle_return_table2(self, event):
# Custom handler for the Enter key event for table2
self.table2.handle_arrow_keys(event)
return "break"
if __name__ == "__main__":
app = PandasTableApp()
app.mainloop()`
C:\Users\xxxx\AppData\Local\Programs\Python\Python39\lib\tkinter_init _.py
return self.func(*args)
C:\Users\xxxx\AppData \Local\Programs\Python\Python39\lib\tkinter_init_.py
return self.func(*args)
C:\Users\xxxxx\AppData \Local\Programs\Python\Python39\lib\tkinter_init_.py
return self.func(*args)
C:\Users\xxxxx\AppData \Local\Programs\Python\Python39\lib\tkinter_init_.py
return self.func(*args)
C:\Users\xxxxx\AppData\Local\Programs\Python\Python39 \lib\tkinter_init_.py
return self.func(*args)
Исключение в обратном вызове Tkinter
Traceback (последний вызов последний) :
Файл "C:\Users\xxxxxx\AppData\Local\Programs\Python\Python39\lib\tkinter_init_.py", строка 1884, в call
return self.func(*args)
Файл "C:\Users\xxxxx\Desktop\xxxx-xxx\xxx-venv\lib\site-packages\pandastable\core.pyy", строка 2350, в handle_arrow_keys
x,y = self.getCanvasPos(self.currentrow, self.currentcol-1)
Файл "C:\Users\xxxxx\Desktop\xxxx-xxx\xxx-venv\ lib\site-packages\pandastable\core.py", строка 2151, в getCanvasPos
x1,y1,x2,y2 = self.getCellCoords(row,col)
Файл "C:\Users\xxxxx \Desktop\xxxx-xxx\xxx-venv\lib\site-packages\pandastable\core.py", строка 2140, в getCellCoords
x1=self.col_positions[col]
IndexError: вывести индекс диапазона
когда я пишу на вторую вкладку, это работает - я могу писать в ячейку там.
но при записи на первую вкладку происходит сбой и отправляется эта ошибка.
есть идеи, почему это произошло?
заранее спасибо.
Подробнее здесь: https://stackoverflow.com/questions/787 ... -positions