1. 程式人生 > 其它 >visual studio button怎麼按一次_步驟六:tkinter在視窗上按位置擺放部件

visual studio button怎麼按一次_步驟六:tkinter在視窗上按位置擺放部件

技術標籤:visual studio button怎麼按一次window兩個視窗上下襬放

7f98cf2b765ea4ea969fd550a690f0c9.gif

我們之前的圖形大概是這樣的,如圖,但這個控制元件的擺放位置實在太醜,根本沒有美感可言,那麼怎麼能隨意擺放這些控制元件呢?其實也很簡單,之前建立好一個控制元件,放置到視窗上需要用到的是pack,現在換成place就好了。

279dec1f185a313ef3643d7d946145a2.png

place

同一視窗/框架中,所有部件需要用同一種定位方式。不同視窗/框架中,部件的定位方式可以不同,定位方式一共有三種,我常用place。其他兩種可自行百度,差別不大。掌握其一即可。

1、pack 相對位置——引數:靠邊放置side。

2、place 絕對位置——引數:橫座標x,縱座標y。類似於高中學習的象限。

3、grid 形同表格——引數:行號row,列號column。

應用例項

import tkinter as tkimport tkinter.messagebox# 第1步,例項化object,建立視窗windowwindow = tk.Tk()# 第2步,給視窗的視覺化起名字window.title("我的視窗")# 第3步,設定視窗的大小(長 * 寬)window.geometry("300x300")# 第4步,在圖形介面上設定輸入框控制元件entry框並放置,將字元正常顯示,輸入賬號的位置var_usr_name = tk.StringVar()enter1 = tk.Entry(window, textvariable=var_usr_name, show=None).place(x=130, y=100,width=100, height=25)# 第5步,在圖形介面上設定輸入框控制元件entry框並放置,將字元顯示為"*",輸入密碼的位置var_usr_pwd = tk.StringVar()enter2 = tk.Entry(window, textvariable=var_usr_pwd, show="*").place(x=130, y=130, width=100, height=25)# 第6步,在圖形介面上設定lable並放在固定位置lable1 = tk.Label(window, text='使用者名稱:').place(x=70, y=100)lable2 = tk.Label(window, text='密碼:').place(x=70, y=130)# 第7步,隨意定義一個了觸發事件時的函式enter_me,判斷賬號密碼是否正確(注意:因為Python的執行順序是從上往下,所以函式一定要放在按鈕的上面)def enter_me():    usr_name = var_usr_name.get()    usr_pwd = var_usr_pwd.get()    if (usr_name == "862537165") and (usr_pwd == "dong"):        tk.messagebox.showinfo(title='welcome',                               message='歡迎您:' + usr_name)    else:        tk.messagebox.showerror(message='賬號或者密碼錯誤')# 第8步,建立並放置兩個按鈕觸發函式but1 = tk.Button(window, text="登 錄", width=10, height=1,                 command=enter_me).place(x=40, y=200)but2 = tk.Button(window, text='退 出', width=10, height=1,                 command=window.quit).place(x=180, y=200)# 第9步,主視窗迴圈顯示window.mainloop()

輸出結果

5b57c704ea2068b474c8f5a16e46afb4.gif

這次將所有的pack全部改為place,效果就是可以隨意佈局控制元件。順便也做了一個簡單的登入視窗,大部分平臺的介面登入系統就是這個邏輯,剩下就是改變背景顏色、字型、圖片的區別。下一次將繼續完善加入註冊系統。