python - 有什么方法可以清除所有小部件并重新创建相同的小部件,例如刷新屏幕以在 tkinter python 中获取新输入?
问题描述
像刷新窗口一样,它应该清除条目中的所有信息清除所有复选框和旋转框
解决方案
试试这个代码:
import tkinter as tk
def print_all():
for entry in entries:
print(entry.get())
for var in spinbox_vars:
print(var.get())
for var in checkbutton_vars:
print(var.get())
def clear_all():
for entry in entries:
entry.delete(0, "end")
for var in spinbox_vars:
var.set(0)
for var in checkbutton_vars:
var.set(False)
root = tk.Tk()
entries = []
for i in range(3):
# Note that `entry = tk.Entry(root)` and `entry.pack()` are on 2 lines
entry = tk.Entry(root)
entry.pack()
entries.append(entry)
spinbox_vars = []
for i in range(3):
var = tk.IntVar(root)
spinbox = tk.Spinbox(root, textvariable=var)
spinbox.pack()
spinbox_vars.append(var)
checkbutton_vars = []
for i in range(3):
var = tk.BooleanVar(root)
checkbutton = tk.Checkbutton(root, variable=var)
checkbutton.pack()
checkbutton_vars.append(var)
button = tk.Button(root, text="Clear All", command=clear_all)
button.pack()
button = tk.Button(root, text="Print All", command=print_all)
button.pack()
root.mainloop()
它将 3 个条目Spinbox
es 和 3 Checkbutton
s 放入列表中。之后,我可以遍历每个列表并调用.get()
或.set(...)
获取/设置小部件中的值。
推荐阅读
- java - 鼠标侦听器 Java Swing 无法绘制连续线
- html - 如何使用设置的高度和宽度值在 div 中将完整图像显示为背景
- javascript - 终端打不开
- typescript - 如何在 Typescript 中选择特定的返回类型?
- kubernetes - 即使 CLI `expose` 功能有效,Kubernetes 的 LoadBalancer yaml 也无法正常工作
- opengl - Colab 中是否激活了 OpenGL 子系统?
- mysql - 作为散列子分区的一部分,如何为键指定多个列?
- r - 如何在 R 中每行过滤或子集数据
- java - Quarkus 从@QuarkusTest 读取 application.properties
- xaml - 使用 Xamarin MVVM 加载动态控件