python tk tkinter在我的可滚动框架中无法承受多个画布

咖喱
import tkinter as tk
from tkinter import filedialog
from matplotlib.backends.backend_tkagg import (FigureCanvasTkAgg,  NavigationToolbar2Tk) 
from matplotlib.figure import Figure 
import matplotlib.pyplot as plt
from data import dataprocess
root = tk.Tk()
root.geometry('1500x800')
container = tk.Frame(root)
main_canvas = tk.Canvas(container, width=1480, height=800,  bg='blue')
scrollbar = tk.Scrollbar(container, orient="vertical", command=main_canvas.yview)
scrollable_frame = tk.Canvas(main_canvas, bg='black')
scrollable_frame.bind(
"<Configure>",
lambda e: main_canvas.configure(
    scrollregion=main_canvas.bbox("all")
    )
)

main_canvas.create_window((0, 0), window=scrollable_frame, anchor="nw")

main_canvas.configure(yscrollcommand=scrollbar.set)

for i in range(100):
    f = Figure(figsize=(5,5), dpi=100)
    a = f.add_subplot(111)
    a.plot([1,2,3,4,5,6,7,8],[5,6,1,3,8,9,3,5])
    a.set_title("fig" + str(i))
    canvas = FigureCanvasTkAgg(f, 
                           master = scrollable_frame)
    canvas.draw()
    canvas.get_tk_widget().grid(row=i, column=0)

container.grid()
main_canvas.grid()
scrollbar.grid(row=0, column=1, sticky="nse")
container.mainloop()

我想在可伸缩框架上生成很多画布,但是由于maxiumn画布大小而似乎失败了。有什么方法可以解决?代码图片

小说

我会猜测,您真正想要的是ScrolledText小部件。尝试这个:

import tkinter as tk
from tkinter.scrolledtext import ScrolledText
from matplotlib.backends.backend_tkagg import (FigureCanvasTkAgg,  NavigationToolbar2Tk)
from matplotlib.figure import Figure

root = tk.Tk()
root.geometry('1500x800')
scrollable_frame = ScrolledText(root)
scrollable_frame.pack(expand=True, fill=tk.BOTH)

for i in range(10):
    f = Figure(figsize=(5,5), dpi=100)
    a = f.add_subplot(111)
    a.plot([1,2,3,4,5,6,7,8],[5,6,1,3,8,9,3,5])
    a.set_title("fig" + str(i))
    canvas = FigureCanvasTkAgg(f)
    scrollable_frame.window_create(tk.END, window=canvas.get_tk_widget())
    scrollable_frame.insert(tk.END, '\n')

root.mainloop()

无论在计算机上还是在人类上,无论如何,100张图形都将非常繁重。我认为最好以不同的方式设计程序,以便更新图形而不是滚动浏览许多图形。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python Tkinter实例没有属性“ tk”

来自分类Dev

禁用Python和Tk中的按钮

来自分类Dev

python tk画布中的不可见图像

来自分类Dev

“ tk.call”函数在Python / Tkinter中做什么?

来自分类Dev

Python Tk inter - 使用绑定动态调整框架大小

来自分类Dev

Python3 tk。滚动条和焦点

来自分类Dev

在Python Tkinter的Tk类中使用Frame类

来自分类Dev

在python中使用tkinter Photoimage / Tk使用Singleton模式的问题

来自分类Dev

Python Tkinter 让 Tk 覆盖整个屏幕(如全屏)

来自分类Dev

Tk / Tkinter画布“ <ItemDelete>”事件?

来自分类Dev

使用Tk在Python中单击更改矩形颜色

来自分类Dev

使用Tk在Python中单击更改矩形颜色

来自分类Dev

未为Tk配置Python

来自分类Dev

Python,TK输入字段验证

来自分类Dev

Python3(anaconda)中的tkinter,“ AttributeError:模块'tkinter'没有属性'Tk'”

来自分类Dev

当我运行python程序时,为什么我的tk小部件无法打开?

来自分类Dev

无法在我的Ubuntu 16.04机器上安装python3-tk

来自分类Dev

在本地python安装上导入tkinter:如果失败,则可能未为Tk配置Python

来自分类Dev

Python 3.3 tkinter.filedialog.askopenfile()留下了无响应的Tk窗口

来自分类Dev

如何检查确切的python tcl-tk / tkinter版本,iexyz而不是xy?

来自分类Dev

python tkinter listbox与其他tk / ttk小部件的性能

来自分类Dev

来自python tkinter的Tk()仅在kali / debian linux上与sudo一起使用

来自分类Dev

Python Tkinter:打开新的tk窗口时,如何应用新的背景图像?

来自分类Dev

Python + Tkinter,如何独立于tk前端在后台运行?

来自分类Dev

在Mac OS上执行tcl / tk,Python IDLE无法启动,并且Macports无法正常工作

来自分类Dev

ImportError:无法导入名称“ Tk”

来自分类Dev

为什么当我调用 root = Tk() 时 Python 会退出?

来自分类Dev

在Tk文本中显示从Tk按钮功能生成的导入文本

来自分类Dev

Tk中的分层事件转发

Related 相关文章

  1. 1

    Python Tkinter实例没有属性“ tk”

  2. 2

    禁用Python和Tk中的按钮

  3. 3

    python tk画布中的不可见图像

  4. 4

    “ tk.call”函数在Python / Tkinter中做什么?

  5. 5

    Python Tk inter - 使用绑定动态调整框架大小

  6. 6

    Python3 tk。滚动条和焦点

  7. 7

    在Python Tkinter的Tk类中使用Frame类

  8. 8

    在python中使用tkinter Photoimage / Tk使用Singleton模式的问题

  9. 9

    Python Tkinter 让 Tk 覆盖整个屏幕(如全屏)

  10. 10

    Tk / Tkinter画布“ <ItemDelete>”事件?

  11. 11

    使用Tk在Python中单击更改矩形颜色

  12. 12

    使用Tk在Python中单击更改矩形颜色

  13. 13

    未为Tk配置Python

  14. 14

    Python,TK输入字段验证

  15. 15

    Python3(anaconda)中的tkinter,“ AttributeError:模块'tkinter'没有属性'Tk'”

  16. 16

    当我运行python程序时,为什么我的tk小部件无法打开?

  17. 17

    无法在我的Ubuntu 16.04机器上安装python3-tk

  18. 18

    在本地python安装上导入tkinter:如果失败,则可能未为Tk配置Python

  19. 19

    Python 3.3 tkinter.filedialog.askopenfile()留下了无响应的Tk窗口

  20. 20

    如何检查确切的python tcl-tk / tkinter版本,iexyz而不是xy?

  21. 21

    python tkinter listbox与其他tk / ttk小部件的性能

  22. 22

    来自python tkinter的Tk()仅在kali / debian linux上与sudo一起使用

  23. 23

    Python Tkinter:打开新的tk窗口时,如何应用新的背景图像?

  24. 24

    Python + Tkinter,如何独立于tk前端在后台运行?

  25. 25

    在Mac OS上执行tcl / tk,Python IDLE无法启动,并且Macports无法正常工作

  26. 26

    ImportError:无法导入名称“ Tk”

  27. 27

    为什么当我调用 root = Tk() 时 Python 会退出?

  28. 28

    在Tk文本中显示从Tk按钮功能生成的导入文本

  29. 29

    Tk中的分层事件转发

热门标签

归档