[Python GUI]Python內建圖形介面tkinter--入門1
前言
本文僅是個人對tkinter學習過程的一些記錄,可能有誤解之處,煩請指教。如果覺得有可看之處,請多鼓勵,後續會持續完善。
一、tkinter是什麼?
tkinter軟體包是Tk GUI工具包的標準Python介面。 Tk和tkinter在大多數Unix平臺以及Windows系統上都可用。
二、使用步驟
1. 安裝
tkinter作為python的標準GUI介面,在安裝python的時候就已經預設安裝,除非你自己手動取消安裝。
可以通過命令列輸入python -m tkinter
開啟一個簡單的Tk視窗。如果可以通過命令列正常開啟這個Tk視窗,表明你已經安裝了該包;否則你需要自己安裝該包。
參考:在windows上安裝tkinter
在Linux可以通過以下方式安裝:
#python2
sudo apt-get install python-tk
#python3
sudo apt-get install python3-tk
本文涉及程式碼全部在python3 下執行
2.引入庫
程式碼如下(示例):
import tkinter as tk
3.簡單示例
本文以開發一個登陸介面為目的,學習所需的各個元素。
那麼先思考一下,一個登陸介面需要哪些元素呢?
- 一個主介面;
- 視窗名;
- 設定視窗寬高
- 賬號密碼文字提示;
- 賬號密碼輸入框;
- 登陸按鈕;
- 提示對話方塊
OK,先搞定這5個小部分,一個簡單的GUI登陸介面就出來了
哇,這UI,設計的也太完美了吧。
程式碼如下(示例):
import tkinter as tk
# 1. 一個主介面;
main_win = tk.Tk()
# 2. 視窗名;
main_win.title("登陸介面")
# 3. 設定視窗寬高
main_win.geometry('400x300')
# 視窗持續顯示
main_win.mainloop()
咦?怎麼是一片空白?
對話方塊出來了,不過裡面現在還是空空如也,接下來就要慢慢新增各個元素了。
import tkinter as tk
from tkinter import messagebox
# 1. 一個主介面;
main_win = tk.Tk()
# 2. 視窗名;
main_win.title("登陸介面")
# 3. 設定視窗寬高
main_win.geometry('400x300')
# 4. 賬號密碼文字;
accoun_label = tk.Label(main_win, text="賬號:", font=('Arial', 12)).pack()
pwd_label = tk.Label(main_win, text="密碼:", font=('Arial', 12)).pack()
# 5. 賬號密碼輸入框;
accoun_var = tk.StringVar()
pwd_var = tk.StringVar()
accoun_entry = tk.Entry(main_win, textvariable=accoun_var, show=None, font=('Arial', 14)).pack()
pwd_entry = tk.Entry(main_win, textvariable=pwd_var, show='*', font=('Arial', 14)).pack()
# 6. 登陸按鈕;
login_btn = tk.Button(main_win, text='登 陸').pack()
# 7. 提示對話方塊
messagebox.showinfo(title='提示框', message='登陸成功!')
# 視窗持續顯示
main_win.mainloop()
嗯!總算是有毛有腳了,接下來就是佈局了。
import tkinter as tk
from tkinter import messagebox
def show_info_box():
# 7. 提示對話方塊
return messagebox.showinfo(title='提示框', message='登陸成功!')
# 1. 一個主介面;
main_win = tk.Tk()
# 2. 視窗名;
main_win.title("登陸介面")
# 3. 設定視窗寬高
main_win.geometry('400x300')
# 4. 賬號密碼文字;
accoun_label = tk.Label(main_win, text="賬號:", font=('Arial', 12)).place(x=70, y=80)
pwd_label = tk.Label(main_win, text="密碼:", font=('Arial', 12)).place(x=70, y=120)
# 5. 賬號密碼輸入框;
accoun_var = tk.StringVar()
pwd_var = tk.StringVar()
accoun_entry = tk.Entry(main_win, textvariable=accoun_var, show=None, font=('Arial', 14)).place(x=120, y=80)
pwd_entry = tk.Entry(main_win, textvariable=pwd_var, show='*', font=('Arial', 14)).place(x=120, y=120)
# 6. 登陸按鈕;
login_btn = tk.Button(main_win, text='登 陸',width=20, command=show_info_box).place(x=120, y=200)
# 視窗持續顯示
main_win.mainloop()
完美復現,毫無瑕疵
開個玩笑。這個介面不僅簡單還沒有任何實際功能,還需要後續不斷學習不斷完善。
總結
- 主視窗及其標題和寬高
tkinter.Tk()
,mainloop()
持續顯示 - 文字顯示
Label
- 元件視覺化需要使用
.pack()
,或者.place()
設定固定位置 - 輸入框
Entry
,及其回顯:show
引數(屬性) - 按鈕
Button
,繫結觸發函式使用:command
- 對話方塊
messagebox.showinfo
,需先from tkinter import messagebox
對話方塊如果不是from tkinter import messagebox
,而是使用tk.messagebox.showinfo(title='提示框', message='登陸成功!')
,則會報錯。
報錯資訊:AttributeError: module 'tkinter' has no attribute 'messagebox'
以上就是今天所學的內容,本文僅僅簡單介紹了tkinter的使用,多使用tkinter以找到一種靈活的使用方式,tkinter的其他功能還需要繼續探索。
相關文章
- Python 內建介面開發框架 Tkinter入門篇 乙Python框架
- Python 內建介面開發框架 Tkinter入門篇 甲Python框架
- Python 內建介面開發框架 Tkinter入門篇 丁Python框架
- Python常用GUI框架有哪些?Python基礎入門PythonGUI框架
- python實戰GUI介面+mysqlPythonGUIMySql
- Python資料分析入門(十七):繪製條形圖Python
- Python3爬取CSDN個人部落格相關資料--新增GUI圖形化介面PythonGUI
- Python入門教程100天:Day10-圖形使用者介面和遊戲開發Python遊戲開發
- Python GUI介面程式設計-初識PythonGUI程式設計
- python入門筆記1Python筆記
- 課時35:圖形使用者介面入門
- Python 內建介面開發框架 Tkinter入門篇 丙(文末有福利彩蛋,今天可是元宵節)Python框架
- Python:介面開發,wx入門篇Python
- python資料視覺化-matplotlib入門(4)-條形圖和直方圖Python視覺化直方圖
- 使用Python編寫一個QQ辦公版的圖形登入介面!Python
- Python系列之-1、Django入門PythonDjango
- 箱形圖(python畫圖)Python
- Python 字串 String 內建函式大全(1)Python字串函式
- python 圖形初學Python
- Python 內建方法Python
- Python 影像處理 OpenCV (1):入門PythonOpenCV
- Python 入門系列 —— 1. 簡介Python
- Python內建庫:getpass(密碼輸入工具)Python密碼
- Matlab圖形使用者介面程式設計初級入門Matlab程式設計
- Python入門Python
- Ubuntu無法進入圖形介面Ubuntu
- Python-SQLAlchemy:第1節:SQLAlchemy入門PythonSQL
- Python 基礎 4-1 字典入門Python
- python第二階段(15)numpy入門基礎-視覺化之條形圖Python視覺化
- python內建方法APIPythonAPI
- python常用內建方法Python
- python入門知識思維導圖Python
- python gui專案PythonGUI
- Python GUI開發- PyQt5 開發小工具環境入門PythonGUIQT
- Python常用的圖形介面程式設計框架,你知道幾個?Python程式設計框架
- Dart語法超光速入門(1):內建型別Dart型別
- 【專案】Python人臉識別(GUI介面)—— 基於pyopencvPythonGUIOpenCV
- python資料處理matplotlib入門(2)-利用隨機函式生成變化圖形Python隨機函式