TK小部件(Widget)

TK小部件(Widget)
在创建 Tk 小部件时,几乎很少使用命令。一半以上都是按钮或文本小部件的变体,如下面的列表所示。其中几项在下一屏中演示。
[@more@]
·button — 有二十多种配置选项(从 anchorfontpadxrelief)的简单小部件。
·canvas — 画布是一种小部件,不仅可以包含其它小部件,而且包含各种类型的结构化图形,包括圆、线和多边形。
·checkbutton — 创建复选框样式的按钮小部件,它链接到一个变量。
·entry — 构建单行文本输入框。
·frame — 框架是主要用作容器或定位架的小部件。
·label — 创建标签对象。
·listbox — 创建文本字符串列表框。在定义小部件之后,添加各项。
·menu — 单个多面小部件,包含多种菜单样式的各种项。
·menubutton — 为下拉菜单实现提供可单击的顶级界面。
·message — 创建包括版本调整和字自动换行特性的文本显示窗口小部件。
·radiobutton — 创建单选按钮,它可以是与指定变量相关的一个集合之一。
·scale — 为在指定范围和分辨率内选择值而创建滑动块。
·scrollbar — 为在相关小部件中更改部分内容(通常是文本或图)而生成小部件。
·text — 创建显示一个或多个文本行并允许编辑该文本的小部件。
·toplevel — 创建新的顶级(在 X 桌面上)窗口。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/459749/viewspace-1057865/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/459749/viewspace-1057865/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个错误通常是因为使用的 Matplotlib 版本不同导致的,可以尝试使用以下代码替换掉原来的: ```python import tkinter as tk from tkinter import ttk from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg import matplotlib.pyplot as plt # 数据示例 data = { 'list1': [1, 3, 2, 4, 6, 5], 'list2': [5, 4, 6, 3, 2, 1], 'list3': [2, 4, 3, 5, 6, 1] } # 创建主窗口 root = tk.Tk() root.title('折线图示例') # 创建画布 fig = plt.figure(figsize=(6, 4), dpi=100) canvas = FigureCanvasTkAgg(fig, master=root) canvas.draw() canvas.get_tk_widget().pack(side=tk.TOP, fill=tk.BOTH, expand=1) # 创建菜单栏 frame = tk.Frame(root) frame.pack(side=tk.LEFT, fill=tk.Y) # 创建选项框 var1 = tk.BooleanVar() var2 = tk.BooleanVar() var3 = tk.BooleanVar() check1 = ttk.Checkbutton(frame, text='列表1', variable=var1) check2 = ttk.Checkbutton(frame, text='列表2', variable=var2) check3 = ttk.Checkbutton(frame, text='列表3', variable=var3) check1.pack(side=tk.TOP, fill=tk.X) check2.pack(side=tk.TOP, fill=tk.X) check3.pack(side=tk.TOP, fill=tk.X) # 绘制折线图 lines = [] for name, values in data.items(): lines.append(plt.plot(values, label=name)[0]) plt.legend() # 更新选项框状态 def update_checkboxes(): var1.set(lines[0].get_visible()) var2.set(lines[1].get_visible()) var3.set(lines[2].get_visible()) # 更新折线图 def update_plot(): for i, line in enumerate(lines): line.set_visible([var1.get(), var2.get(), var3.get()][i]) canvas.draw() # 绑定事件 check1.bind('<Button-1>', lambda e: update_plot()) check2.bind('<Button-1>', lambda e: update_plot()) check3.bind('<Button-1>', lambda e: update_plot()) update_checkboxes() update_plot() # 运行主循环 root.mainloop() ``` 这个版本的代码使用了 `FigureCanvasTkAgg` 类来创建画布,并且调用其 `draw` 方法来初始化绘图。同时,修改了获取画布对象的方法,使用 `get_tk_widget` 方法来获取 Tkinter 的窗口部件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值