06 - Tkinterの変数学習クラス学習

変数の4つのカテゴリがあります。

IntVar():整数の変数は、デフォルトは0です。

DoubleVar():フロート変数は、デフォルトは0.0です

STRINGVAR():文字列変数は、デフォルトでは空であります

BooleanVar():ブール変数、真が1、Falseが0です。

41セット()と()の使用を取得します:

from tkinter import *
win=Tk()
def view():
    global Message
    if Message==False:
        Message=True
        x.set("tkinter")
    else:
        Message=False
        x.set("")
Message=False
x=StringVar()
label=Label(win,textvariable=x,fg="blue",bg="yellow",width=25,height=2)
label.pack()
button=Button(win,text="点击",command=view)
button.pack()
win.mainloop()

42-トレーストレース()使用パターンのW、同時表示ウィンドウタイピング:

from tkinter import *
def callback(*args):
    print(x.get())

win=Tk()
x=StringVar()
entry=Entry(win,textvariable=x)
entry.pack(padx=5,pady=5)
x.trace("w",callback)
win.mainloop()

第1のパラメータx.trace(「W」、コールバック)パターン、W書き込みを自動的に実行するコールバック関数の代わりに実行された場合、関数名が自分で撮影してもよいです。これは、変更の追跡と呼ばれています。最初のパラメータは、rは読み出しの実装は、読み取り時間をトラッキングと呼ばれることがある場合。

達成するための43の簡単な電卓:

from tkinter import *
win=Tk()
def calculate():
    result=eval(equ.get())
    equ.set(equ.get()+"=\n"+str(result))
def show(buttonString):
    content=equ.get()
    if content=="0":
        content=""
    equ.set(content+buttonString)
def backspace():
    equ.set(str(equ.get()[:-1]))
def clear():
    equ.set("0")
equ=StringVar()
equ.set("0")
label=Label(win,width=25,height=2,relief="raised",anchor=SE,textvariable=equ)
label.grid(row=0,column=0,columnspan=4,padx=5,pady=5)
clearbutton=Button(win,text="C",width=5,fg="blue",command=clear)
clearbutton.grid(row=1,column=0)
Button(win,text="DEL",width=5,command=backspace).grid(row=1,column=1)
Button(win,text="%",width=5,command=lambda:show("%")).grid(row=1,column=2)
Button(win,text="/",width=5,command=lambda:show("/")).grid(row=1,column=3)
Button(win,text="7",width=5,command=lambda:show("7")).grid(row=2,column=0)
Button(win,text="8",width=5,command=lambda:show("8")).grid(row=2,column=1)
Button(win,text="9",width=5,command=lambda:show("9")).grid(row=2,column=2)
Button(win,text="*",width=5,command=lambda:show("*")).grid(row=2,column=3)
Button(win,text="4",width=5,command=lambda:show("4")).grid(row=3,column=0)
Button(win,text="5",width=5,command=lambda:show("5")).grid(row=3,column=1)
Button(win,text="6",width=5,command=lambda:show("6")).grid(row=3,column=2)
Button(win,text="-",width=5,command=lambda:show("-")).grid(row=3,column=3)
Button(win,text="1",width=5,command=lambda:show("1")).grid(row=4,column=0)
Button(win,text="2",width=5,command=lambda:show("2")).grid(row=4,column=1)
Button(win,text="3",width=5,command=lambda:show("3")).grid(row=4,column=2)
Button(win,text="+",width=5,command=lambda:show("+")).grid(row=4,column=3)
Button(win,text="0",width=12,command=lambda:show("0")).grid(row=5,column=0,columnspan=2)
Button(win,text=".",width=5,command=lambda:show(".")).grid(row=5,column=2)
Button(win,text="=",width=5,bg="yellow",command=lambda:calculate()).grid(row=5,column=3)
win.mainloop()

プログラムオブジェクトにラムダを使用してデジタルボタンと同じ機能を使用してボタン演算式ので、設計を簡素化することです。

おすすめ

転載: blog.51cto.com/13526792/2453820