python-tkinter模組圖形繪製、移動小程式(一)
阿新 • • 發佈:2019-01-09
圖形視窗顯示按鈕,標籤:
# 簡單GUI(圖形使用者介面)示例
from tkinter import *
def main():
tk = Tk('123')
label = Label(tk,text = '歡迎來到python tkinter') # label:標籤
button = Button(tk,text = '點選') # button:按鈕
label.pack()
button.pack()
tk.mainloop()
main()
通過按鈕,響應使用者事件:
通過鍵盤方向鍵控制目標移動:from tkinter import * def processOK(): print('按鈕已經點選') def processCancel(): print('取消點選按鈕') def main(): tk = Tk() btnOK = Button(tk,text = 'ok',fg = 'red',command = processOK) btnCancel = Button(tk,text = '取消',bg = 'yellow',command = processCancel) btnOK.pack() btnCancel.pack() tk.mainloop() main()
from tkinter import * def main(): tk = Tk() canvas = Canvas(tk, width = 400, height = 400) #設定畫布 canvas.pack() #顯示畫布 def moverectangle(event): # 繫結方向鍵 if event.keysym == "Up": canvas.move(1,0,-5) # 移動的是 ID為1的事物【move(2,0,-5)則移動ID為2的事物】,使得橫座標加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) '事件ID可能跟程式的先後順序有關,例如,下面先建立了200*200的矩形,後建立了20*20的矩形' r = canvas.create_rectangle(180,180,220,220,fill="red") # 事件ID為1 print(r) #列印ID驗證一下 m = canvas.create_rectangle(10,10,20,20,fill="blue") #事件ID為2 print(m) #列印ID驗證一下 canvas.bind_all("<KeyPress-Up>",moverectangle) #繫結方向鍵與函式 canvas.bind_all("<KeyPress-Down>",moverectangle) canvas.bind_all("<KeyPress-Left>",moverectangle) canvas.bind_all("<KeyPress-Right>",moverectangle) if __name__ == '__main__': main()