今天要讲的是tkinter的变数类别,tkinter 的控制变数可以在某些控见执行的时候,更改内容,有四种控制变数的类别,分别为:
Boolean() 布林值变数,True是1, False是0
DoubleVar() 浮点数,预设值为 0.0
IntVar() 整数,预设值为 0
StringVar() 字串,预设值为空字串" "
♠♣今天的文章大纲♥♦
用StringVar() 字串变数,改变文字内容,定义一个事件,这边因为用get()方法,所以就叫GET事件,假设一开始是空字串,按下按钮後,如果原本label里面没有文字,就更改,将cuteluluWindow加入label,如果label里面有文字,就改回空的,且在label里面用textvariable设定内容是Z字串。
import tkinter as tk
root = tk.Tk()
root.geometry("350x400+200+300")
root.title('cuteluluWindow')
root.configure(bg="#7AFEC6")
root.iconbitmap('heart_green.ico')
root.geometry('300x300')
def GET():
if Z.get() == "":
Z.set("cuteluluWindow")
else:
Z.set("")
Z = tk.StringVar() #字串变数
L= tk.Label (root, textvariable=Z,fg="#FFAAD5",bg="#7AFEC6", font=("Algerian","16","bold"),width=25,height=2)
L.pack()
btn = tk.Button(root,text="Click Me",relief="sunken",command=GET)
btn.pack()
root.mainloop()
执行结果⬇⬇⬇
trace顾名思义就是追踪,有两种trace,一种是write,一种是read
首先先示范write
import tkinter as tk
root = tk.Tk()
root.geometry("350x400+200+300")
root.title('cuteluluWindow')
root.configure(bg="#7AFEC6")
root.iconbitmap('heart_green.ico')
root.geometry('300x300')
def write(*args):
print(" changing data :",zE.get())
zE = tk.StringVar()#字串变数
entry = tk.Entry(root,textvariable=zE)
entry.pack()
zE.trace("w",write) #"w"就是写入
root.mainloop()
执行结果⬇⬇⬇
边输入就会边在Shell window显示出来
接下来是read
import tkinter as tk
root = tk.Tk()
root.geometry("350x400+200+300")
root.title('cuteluluWindow')
root.configure(bg="#7AFEC6")
root.iconbitmap('heart_green.ico')
root.geometry('300x150')
def callbackW(*args):#*args可以直接传递参数内容,因为目前还不需要传递参数
zl.set(zE.get())
def callbackR(*args):
print(" 资料被读取了 ")
def read():
print(" read the data :",zE.get())
zE = tk.StringVar()#字串变数
entry = tk.Entry(root,textvariable=zE)
entry.pack()
zE.trace("w",callbackW)#如有更改执行这行callbackW
zE.trace("r",callbackR)#如有读取执行这行callbackR
zl = tk.StringVar()#字串变数
lab = tk.Label(root,textvariable=zl)
zl.set(" 显示於此 ")![https://ithelp.ithome.com.tw/upload/images/20210926/20140047se1KNQtmz7.png](https://ithelp.ithome.com.tw/upload/images/20210926/20140047se1KNQtmz7.png)
lab.pack(pady=5,padx=10)
btn = tk.Button(root,text=" read ",command=read)
btn.pack(pady=10)
root.mainloop()
执行结果⬇⬇⬇
这边用了一个set()方法,这方法就是可以按read按钮後,显示在介面上
今天的文章就这边,希望大家可以从这边得到需要的东西,明天见罗~~~
<<: #26 JS: HTML DOM Events - Part 4(Start Over Version)
第 23 天 ! 使用 context 来传送,虽然达到了能跟 目标 component 直接对接的...
大家好,这里是 A Fei,又到了我们愉快的刷题练功时间,前三天的题型和 Number、Array ...
Q: 第 30 天了,心中有没有很兴奋? A: 好紧张耶.. 最後一天了来个结语~~ 之前从来没有...
所有权可以说是Rust核心概念,这让Rust不需要垃圾回收(garbage collector)就可...
range(start=0, stop, step=1) 用来产生 整数等差数列 的函式,常和今天要...