14.圖形交互界面之Tkinter

  • 版本v1

note:代碼執(zhí)行環(huán)境:win10,python3汛骂,jupyter notebook,Tkinter

tkinter組件詳細列表

創(chuàng)建GUI程序的基本步驟為:

? 導入TK模塊
? 創(chuàng)建GUI應用程序的主窗口
? 添加控件或GUI應用程序
? 進入主事循環(huán)禾怠,等待響應用戶觸發(fā)事件
  • 15種常見的TK控件
Button,Canvas,Checkbutton, Entry, Frame, Label,
Listbox, Menubutton, Menu, Message猖凛, Radiobutton,
Scale Scrollbar, Text, Toplevel, Spinbox
PanedWindow, LabelFrame, tkMessageBox

? 共同屬性
    ? Dimensions :尺寸
    ? Colors:顏色
    ? Fonts:字體
    ? Anchors:錨
    ? Relief styles:浮雕式
    ? Bitmaps:顯示位圖
    ? Cursors:光標的外形
? 特有屬性
  • 界面布局
? Tkinter三種幾何管理方法
    ? pack()
    ? grid()
    ? place()
  • 創(chuàng)建GUI應用程序窗口代碼模板
from tkinter import *
tk = Tk()
...
tk.mainloop()
  • 簡單的GUI示例
from tkinter import *
tk = Tk()
label = Label(tk, text = 'Welcom to Python Tkinter')
button = Button(tk, text = 'Click Me')
label.pack()
button.pack()
tk.mainloop()
簡單GUI
  • 響應用戶事件示例
from tkinter import *

def processOK():
    print("OK button is clinked")

def processCancel():
    print("Cancel button is clinked")
    
def main():
    tk = Tk()
    btnOK = Button(tk, text = "OK", fg = "red",
                  command = processOK)
    btnCancel = Button(tk, text = "Cancel", bg = "yellow",
                     command = processCancel)
    btnOK.pack()
    btnCancel.pack()
    
    tk.mainloop()
main()

代碼執(zhí)行情況:

OK button is clinked
Cancel button is clinked
OK button is clinked
Cancel button is clinked
響應用戶事件
  • 顯示圖片,文字大审,繪制圖形
from tkinter import *
#Tk模塊實例化余掖,定義GUI尺寸许布,和創(chuàng)建文字
tk = Tk()
canvas = Canvas(tk, width = 200, height = 200)
canvas.pack()
canvas.create_text(100,40,text = 'Welcome to Tkinter',
                 fill = 'blue', font = ('Times', 16) )
myImage = PhotoImage(file = "python_logo.gif")
canvas.create_image(10,70,anchor = NW, image = myImage )
canvas.create_rectangle(10,70,190,130)

tk.mainloop()
顯示圖,文字箍铭,繪制圖形
  • 控制圖形移動的示例
    通過鍵盤上下左右鍵控制紅色的方塊上下左右移動
from tkinter import *
#Tk模塊實例化泊柬,定義GUI尺寸
tk = Tk()
canvas = Canvas(tk, width = 400, height = 400)
canvas.pack()

#事件響應移動函數(shù)
def moverectangle(event):
    if event.keysym == "Up":
        canvas.move(1, 0, -5)
    elif event.keysym == "Down":
        canvas.move(1, 0, 5)
    elif event.keysym == "Left":
        canvas.move(1, -5, 0)
    elif event.keysym == "Right":
        canvas.move(1,5,0)

#創(chuàng)建方形函數(shù)
canvas.create_rectangle(10,10,50,50,fill="red")
#控制照片移動
#myImage = PhotoImage(file = "python_logo.gif")
#canvas.create_image(10,70,anchor = NW, image = myImage )
canvas.bind_all("<KeyPress-Up>",moverectangle)
canvas.bind_all("<KeyPress-Down>",moverectangle)
canvas.bind_all("<KeyPress-Left>",moverectangle)
canvas.bind_all("<KeyPress-Right>",moverectangle)
tk.mainloop()
控制圖形移動
控制照片移動
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市诈火,隨后出現(xiàn)的幾起案子兽赁,更是在濱河造成了極大的恐慌,老刑警劉巖冷守,帶你破解...
    沈念sama閱讀 216,470評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件刀崖,死亡現(xiàn)場離奇詭異,居然都是意外死亡拍摇,警方通過查閱死者的電腦和手機亮钦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來充活,“玉大人蜂莉,你說我怎么就攤上這事』炻眩” “怎么了映穗?”我有些...
    開封第一講書人閱讀 162,577評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長淮菠。 經(jīng)常有香客問我男公,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,176評論 1 292
  • 正文 為了忘掉前任枢赔,我火速辦了婚禮澄阳,結果婚禮上,老公的妹妹穿的比我還像新娘踏拜。我一直安慰自己碎赢,他們只是感情好,可當我...
    茶點故事閱讀 67,189評論 6 388
  • 文/花漫 我一把揭開白布速梗。 她就那樣靜靜地躺著肮塞,像睡著了一般。 火紅的嫁衣襯著肌膚如雪姻锁。 梳的紋絲不亂的頭發(fā)上枕赵,一...
    開封第一講書人閱讀 51,155評論 1 299
  • 那天,我揣著相機與錄音位隶,去河邊找鬼拷窜。 笑死,一個胖子當著我的面吹牛涧黄,可吹牛的內(nèi)容都是我干的篮昧。 我是一名探鬼主播,決...
    沈念sama閱讀 40,041評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼笋妥,長吁一口氣:“原來是場噩夢啊……” “哼懊昨!你這毒婦竟也來了?” 一聲冷哼從身側響起春宣,我...
    開封第一講書人閱讀 38,903評論 0 274
  • 序言:老撾萬榮一對情侶失蹤酵颁,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后月帝,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體材义,經(jīng)...
    沈念sama閱讀 45,319評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,539評論 2 332
  • 正文 我和宋清朗相戀三年嫁赏,在試婚紗的時候發(fā)現(xiàn)自己被綠了其掂。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,703評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡潦蝇,死狀恐怖款熬,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情攘乒,我是刑警寧澤贤牛,帶...
    沈念sama閱讀 35,417評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站则酝,受9級特大地震影響殉簸,放射性物質發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,013評論 3 325
  • 文/蒙蒙 一般卑、第九天 我趴在偏房一處隱蔽的房頂上張望武鲁。 院中可真熱鬧,春花似錦蝠检、人聲如沸沐鼠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽饲梭。三九已至,卻和暖如春焰檩,著一層夾襖步出監(jiān)牢的瞬間憔涉,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評論 1 269
  • 我被黑心中介騙來泰國打工析苫, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留监氢,地道東北人。 一個月前我還...
    沈念sama閱讀 47,711評論 2 368
  • 正文 我出身青樓藤违,卻偏偏與公主長得像,于是被迫代替她去往敵國和親纵揍。 傳聞我的和親對象是個殘疾皇子顿乒,可洞房花燭夜當晚...
    茶點故事閱讀 44,601評論 2 353