上次学习了基本窗口的创建、Labal控件、Entry控件、Button控件的创建和显示。
其实我的目的不止要显示,还要这些控件之间产生联系。比如:
1,Entry控件中写的内容可以一键消除
2,Entry控件中写的内容可以显示到Labal控件中
最后会介绍下Tix的控件。
查了好多资料后我只发现了一种又快又好的方法。
使用控件中的textvariable属性。
textvariable
标签显示 Tkinter 变量,StringVar。如果变量被修改,标签文本将自动更新
StringVar
StringVar是Tk库内部定义的字符串变量类型。StringVar并不是python内建的对象, 而是属于Tkinter下的对象。在这里用于管理控件上面的字符;这个可以跟踪变量值的变化,普通的Phtyon变量不能即时地显示在屏幕上面。
示例
#!/usr/bin/python3
from tkinter import StringVar, tix
root = tix.Tk()
root.title("py window test")
#定义StringVar
l_text = StringVar()
#初始化数据
text = "hello world! \n你好,世界"
l_text.set(text)
#button1 get实现将Entry控件写的文本显示到Laber处
def get():
text = e_00.get()
l_text.set(text)
return
#button2 myclean实现 清除Entry内容,并回复成原状
def myclearn():
text = "hello world! \n你好,世界"
l_text.set(text)
e_00.delete(0, "end")
return
#l_00 = tix.Label(root, text="hello world! \n你好,世界", font=("微软雅黑", 12))
l_00 = tix.Label(root, textvariable=l_text, font=("微软雅黑", 12))
l_00.pack(pady=10)
e_00 = tix.Entry(root, font=("微软雅黑", 12))
e_00.pack(pady=20)
b1 = tix.Button(root, text="开始", command=get)
b1.pack(pady=10, side='left')
b2 = tix.Button(root, text="清空", command=myclearn)
b2.pack(before=b1, side='left', padx=70, pady=10)
# 进入消息循环
root.mainloop()
运行程序

按【开始】

按【清空】

Tkinter 组件
Tkinter的提供各种控件,如按钮,标签和文本框,一个GUI应用程序中使用。这些控件通常被称为控件或者部件。
目前有15种Tkinter的部件。我们提出这些部件以及一个简短的介绍,在下面的表:
| 控件 | 描述 |
| Button | 按钮控件;在程序中显示按钮。 |
| Canvas | 画布控件;显示图形元素如线条或文本 |
| Checkbutton | 多选框控件;用于在程序中提供多项选择框 |
| Entry | 输入控件;用于显示简单的文本内容 |
| Frame | 框架控件;在屏幕上显示一个矩形区域,多用来作为容器 |
| Label | 标签控件;可以显示文本和位图 |
| Listbox | 列表框控件;在Listbox窗口小部件是用来显示一个字符串列表给用户 |
| Menubutton | 菜单按钮控件,用于显示菜单项。 |
| Menu | 菜单控件;显示菜单栏,下拉菜单和弹出菜单 |
| Message | 消息控件;用来显示多行文本,与label比较类似 |
| Radiobutton | 单选按钮控件;显示一个单选的按钮状态 |
| Scale | 范围控件;显示一个数值刻度,为输出限定范围的数字区间 |
| Scrollbar | 滚动条控件,当内容超过可视化区域时使用,如列表框。. |
| Text | 文本控件;用于显示多行文本 |
| Toplevel | 容器控件;用来提供一个单独的对话框,和Frame比较类似 |
| Spinbox | 输入控件;与Entry类似,但是可以指定输入范围值 |
| PanedWindow | PanedWindow是一个窗口布局管理的插件,可以包含一个或者多个子控件。 |
| LabelFrame | labelframe 是一个简单的容器控件。常用与复杂的窗口布局。 |
| tkMessageBox | 用于显示你应用程序的消息框。 |
本文介绍了如何在Tkinter中使用StringVar实现Entry控件内容的动态显示和清除。通过设置textvariable属性,可以实现在Label控件中实时更新Entry的输入内容。同时,通过定义函数,实现了点击按钮一键清除Entry文本的功能。此外,文章还提及了Tix库的使用,扩展了Tkinter的基础控件。
1万+

被折叠的 条评论
为什么被折叠?



