현재 트 리뷰를 사용 중입니다. 문제는 내가 꽤 큰 데이터 세트를 사용하고 있다는 것이다. GUI가 방대하지 않으므로 Treeview의 크기를 창에 맞게 제한하고 세로 및 가로 스크롤 막대를 추가했습니다. 그것은 원하는대로 데이터를 정확히 표시하지만 각 방향으로 스크롤 할 때 속도 문제가 있습니다. 스프레드 시트와 유사한 데이터를 표시하는 더 좋고/더 빠른 방법이 있습니까?Tkinter에서 스크롤 가능한 스프레드 시트를 어떻게 표시해야합니까?
0
A
답변
1
내가 pandastable (https://github.com/dmnfarrell/pandastable)를 사용하여 결국 : 나는이 기회를 얻을 때 나는 그것에 대한 설명을 쓸 것이다. 스프레드 시트에 데이터를 표시하는 빠르고 쉬운 방법을 제공했습니다. 또한 열에 함수 정렬, 필터링 및 적용
+1
기본적으로 tkinter 캔버스에 직선과 텍스트가 그려져 있고, tcl을 개발하는 누군가가 tkinter를 위해 C에서 적절한 테이블 위젯을 작성하지 않은 것이 참으로 유감입니다. – citizen2077
1
아래 용액은 함께 자갈을 채우지 만 원하는 결과를 얻을 수 있어야합니다.
from tkinter import *
class App:
def __init__(self, root):
self.entry = []
self.sv = []
self.root = root
self.canvas = Canvas(self.root, background="#ffffff", borderwidth=0)
self.frame = Frame(self.canvas, background="#ffffff")
self.scrolly = Scrollbar(self.root, orient="vertical", command=self.canvas.yview)
self.scrollx = Scrollbar(self.root, orient="horizontal", command=self.canvas.xview)
self.canvas.configure(yscrollcommand=self.scrolly.set)#, xscrollcommand=self.scrollx.set)
self.canvas.create_window((4,4), window=self.frame, anchor="nw", tags="self.frame")
self.scrolly.pack(side="left", fill="y")
self.canvas.pack(side="top", fill="both", expand=True)
self.scrollx.pack(side="bottom", fill="x")
self.frame.bind("<Configure>", self.onFrameConfigure)
for i in range(15):
self.entry.append([])
self.sv.append([])
for c in range(30):
self.sv[i].append(StringVar())
self.sv[i][c].trace("w", lambda name, index, mode, sv=self.sv[i][c], i=i, c=c: self.callback(sv, i, c))
self.entry[i].append(Entry(self.frame, textvariable=self.sv[i][c]).grid(row=c, column=i))
def onFrameConfigure(self, event):
self.canvas.configure(scrollregion=self.canvas.bbox("all"))
def callback(self, sv, column, row):
print("Column: "+str(column)+", Row: "+str(row)+" = "+sv.get())
root = Tk()
App(root)
root.mainloop()
관련 문제
- 1. 스프레드 시트를 열려면
- 2. . 스프레드 시트를 JTable에
- 3. Excel에서 스프레드 시트를 결합하려고합니다.
- 4. 템플릿 스프레드 시트를 닫고 중복 스프레드 시트를 활성화하십시오
- 5. 스프레드 시트를 자동화하는 방법
- 6. WinForms 호스팅 스프레드 시트를
- 7. 스프레드 시트를 해독하는 도구입니까?
- 8. tkinter에서 스크롤 가능한 캔버스를 설치하는 데있어서 잘못된 점은 무엇입니까?
- 9. 레코드 세트와 같은 2 개의 스프레드 시트를 비교합니까? 가능한?
- 10. 스프레드 시트에서 스프레드 시트를 사용하여 이벤트 처리
- 11. Jquery를 사용하여 스프레드 시트를 미리로드합니다.
- 12. Excel의 스프레드 시트를 만드는 방법
- 13. 잘못된 옵션을 어떻게 표시해야합니까?
- 14. Excel 스프레드 시트를 gridview로 내보내기
- 15. tkinter에서 클릭 가능한 목록 상자
- 16. RESTful 서비스는 변경 가능한 리소스에 읽기 전용 속성을 어떻게 표시해야합니까?
- 17. Google 스프레드 시트를 사용하여 스프레드 시트를 만들 때 스프레드 시트에 헤더 추가 CREATE API
- 18. VBA 스프레드 시트를 사용하여 스프레드 시트를 작성하여 스프레드 시트 10 개 중 하나를 선택하는
- 19. 스프레드 시트를 파이썬 사전 변환
- 20. 데이터로 스프레드 시트를 채우는 수식
- 21. Google 스프레드 시트를 검색하려면 어떻게해야합니까?
- 22. 스프레드 시트를 이메일 본문에 복사
- 23. 스프레드 시트를 Google 시트로 열기
- 24. 프로그램 스프레드 시트를 HTML로 프로그래밍
- 25. xml 스프레드 시트를 읽는 방법
- 26. 유니 코드 스프레드 시트를 MySQL로
- 27. Google 스프레드 시트를 .xls로 변환
- 28. Google 스프레드 시트를 json으로 게시
- 29. 엑셀 스프레드 시트를 HTML로 변환
- 30. 스프레드 시트를 목록 Sharepoint에 업로드
사용자가 스프레드 시트에서 셀을 업데이트 할 수 있어야합니까, 아니면 모든 데이터가 정적이며 프로그램에 의해로드되거나 계산 된 것입니까? ? –
@EthanField 편집 가능한 데이터가 있으면 좋을 것입니다. 그러나 정적 데이터를 사용하는 것이 훨씬 빠르다면 정적 접근 방식을 확실히 열어 둡니다. – Roars
두 가지 모두 가능하며 두 가지 모두 응답 성 측면에서 매우 잘 수행되어야하지만 편집 가능한 양식은 훨씬 더 깊이 있습니다. Excel에서 직접 입력 할 필요가있는 경우 Excel이 목적에 충분하지 않은 이유가 있습니까? –