nav分隔線 nav分隔線

用Python的Tkinter套件製作簡單易用的計數器應用程式

icon_fb icon_twitter icon_google
用Python的Tkinter套件製作簡單易用的計數器應用程式

文、意如老師

 

 

看完這篇文章你可以學到:

1. 設定動態文字

2. 製作計數器

 

 

📖 延伸閱讀:【Python GUI教學】製作標籤Label、按鈕Button、文字Text元件

 

 

設定動態文字

 

首先認識常用的參數:

用來設定動態按鈕文字使用:textvariable

變數是字串使用:tk.StringVar()

變數是整數使用:tk.IntVar()

變數是小數點使用:tk.Double()

抓取動態變數使用:變數.get()

設定動態變數使用:變數.set(字串)

使用者按下時可呼叫方法:command

 

 

實作範例:點按鈕以後(改變按鈕內文字)

 

 

 

點按鈕以後(改變按鈕內文字)

 

 

Q:什麼字全世界通用?

A:阿拉伯數字

 

 

程式碼解析:

#寫一個功能answer1用來儲存按鈕的文字,呼叫此功能時更新文字

def answer1():

    yrvar.set("阿拉伯數字")

 

#匯入tkinter套件,取別名為tk

import tkinter as tk

 

#建立tk視窗

yrwin=tk.Tk()

 

#設定文字為動態的

yrvar= tk.StringVar()

 

#設定按鈕,點選按鈕時呼叫answer1 功能,改變文字

yrbtn=tk.Button(yrwin,textvariable=yrvar,command=answer1)

 

#設定預設按鈕文字

yrvar.set("什麼字全世界通用?")

 

#把設定好的Button放進視窗中

yrbtn.pack()

 

#當使用者操作時更新介面

yrwin.mainloop()

 

 

完整程式碼:

def answer1():

    yrvar.set("阿拉伯數字")

 

import tkinter as tk

 

yrwin=tk.Tk()

yrvar= tk.StringVar()

yrbtn=tk.Button(yrwin,textvariable=yrvar,command=answer1)

yrvar.set("什麼字全世界通用?")

yrbtn.pack()

 

yrwin.mainloop()

 

 

任務二:製作計數器

 

 

 

 

程式碼解析:

先把介面(一個lable標籤、兩個button按鈕)先建立起來、並設定動態文字

 

#匯入tkinter 套件取別名tk

import tkinter as tk

#建立視窗

yrwin=tk.Tk()

 

 

yrlabeltxt=tk.StringVar() #設定動態文字為字串類型

yrbtntxt=tk.StringVar()  #設定動態文字為字串類型

yrbtntxt2=tk.StringVar() #設定動態文字為字串類型

num = 0  #目前預設數字為0

 

#建立lable標籤

mylabel= tk.Label(yrwin,textvariable=yrlabeltxt)

yrlabeltxt.set("目前計數為0")

mylabel.pack()

 

#建立button 加1的按鈕

mybtn=tk.Button(yrwin,textvariable=yrbtntxt)

yrbtntxt.set("+1")

mybtn.pack()

 

#建立button 減1的按鈕

 

mybtn2=tk.Button(yrwin,textvariable=yrbtntxt2)

yrbtntxt2.set("-1")

mybtn2.pack()

 

#當使用者操作時更新介面

yrwin.mainloop()

 

#建立兩個方法(+1,-1)計數

#點選按鈕時去呼叫方法,改變計數

 

def plus1():

    global num

    num+=1

    yrlabeltxt.set("目前計數為"+str(num)+"了");

 

def m1():

    global num

    num-=1

    yrlabeltxt.set("目前計數為"+str(num)+"了");

 

#按下+1按鈕時呼叫方法執行plus1

mybtn=tk.Button(yrwin,textvariable=yrbtntxt,command=plus1)

yrbtntxt.set("+1")

mybtn.pack()

 

#按下-1按鈕時呼叫方法執行m1

mybtn2=tk.Button(yrwin,textvariable=yrbtntxt2,command=m1)

yrbtntxt2.set("-1")

mybtn2.pack()

 

 

完整程式碼:

def plus1():

    global num

    num+=1

    yrlabeltxt.set("目前計數為"+str(num)+"了");

 

def m1():

    global num

    num-=1

    yrlabeltxt.set("目前計數為"+str(num)+"了");

 

 

import tkinter as tk

 

yrwin=tk.Tk()

 

yrlabeltxt=tk.StringVar()

yrbtntxt=tk.StringVar()

yrbtntxt2=tk.StringVar()

num = 0

 

mylabel= tk.Label(yrwin,textvariable=yrlabeltxt)

yrlabeltxt.set("目前計數為0")

mylabel.pack()

 

mybtn=tk.Button(yrwin,textvariable=yrbtntxt,command=plus1)

yrbtntxt.set("+1")

mybtn.pack()

 

mybtn2=tk.Button(yrwin,textvariable=yrbtntxt2,command=m1)

yrbtntxt2.set("-1")

mybtn2.pack()

 

yrwin.mainloop()

 

🤔:「聽說Python AI深度學習與強化學習實務課程很難,你覺得值得上嗎?」
🤩:「絕對值得!這門課程讓你能製作出簡單易用的計數器應用程式,同時深入了解AI的應用,挑戰自我!」
😆:「那我要趕快報名搶優惠了!一邊學習Python,一邊探索現在最流行的AI!」

👉🏻Python AI深度學習與強化學習實務

 

 

 

 

FB粉絲團:https://www.facebook.com/lccnetzone
YouTube頻道:https://www.youtube.com/user/LccnetTaiwan

痞客邦Blog:http://lccnetvip.pixnet.net/blog

本網站使用相關網站技術以確保使用者獲得最佳體驗,通過使用我們的網站,您確認並同意本網站的隱私權政策。欲了解詳情,請參閱 隱私權政策