1. 程式人生 > >python 簡單UI

python 簡單UI

python tkinter使用文件

這個兩個連結介紹了tkinter的引數和方法,可供參考

由於專案中需要一個簡單的UI介面,所以就用了python自帶的tkinter庫

我主要用了Label、Entry、Button這幾個簡單控制元件

(1)label比較簡單

import os
import time
import tkinter as tk

root = tk.Tk()
label1 = tk.Label(root,justify=tk.LEFT,text="label1")
label1.pack()
label2 = tk.Label(root,justify=tk.LEFT,text="label2")
label2.pack()
root.mainloop()

大概就是這樣,根據上面連結新增相應引數設定顏色,字型,框體大小等

(2)接著再新增Entry輸入視窗

import os
import time
import tkinter as tk

root = tk.Tk()
label1 = tk.Label(root,text="label1")
label2 = tk.Label(root,text="label2") 
label1.grid(row=0)
label2.grid(row=1)
entry1 = tk.Entry(root)
entry2 = tk.Entry(root)
entry1.grid(row=0,column=1)
entry2.grid(row=1,column=1)
root.mainloop()

大概就是這樣的模樣,接下來我們可以在輸入框裡新增一下預設的資訊

import os
import time
import tkinter as tk

root = tk.Tk()
default_value = tk.StringVar()
default_value.set('default_value')
label1 = tk.Label(root,text="label1:")
label2 = tk.Label(root,text="label2:") 
label1.grid(row=0)
label2.grid(row=1)
entry1 = tk.Entry(root,textvariable=default_value,state=tk.DISABLED)
entry2 = tk.Entry(root,textvariable=default_value)
entry1.grid(row=0,column=1)
entry2.grid(row=1,column=1)
root.mainloop()

 

 獲取輸入框的資料時就呼叫Entry的get()方法就可以例如data = entry1.get()返回的資料就在data裡

(3)增加Button

import os
import time
import tkinter as tk

root = tk.Tk()
default_value = tk.StringVar()
default_value.set('default_value')
label1 = tk.Label(root,text="label1:")
label2 = tk.Label(root,text="label2:") 
label1.grid(row=0)
label2.grid(row=1)
entry1 = tk.Entry(root,textvariable=default_value,state=tk.DISABLED)
entry2 = tk.Entry(root,textvariable=default_value)
entry1.grid(row=0,column=1)
entry2.grid(row=1,column=1)
def start_app():
	#callback
	button1.config(state = tk.DISABLED)
	button2.config(state = tk.ACTIVE)
def stop_app():
	#callback
	button2.config(state = tk.DISABLED)
	button1.config(state = tk.ACTIVE)
button1 = tk.Button(root,text='start',command=start_app)
button2 = tk.Button(root,text='stop',command=stop_app,state=tk.DISABLED)
button1.grid(row=2)
button2.grid(row=2,column=1)
root.mainloop()

 

大概就是這醬紫了,然後根據手冊新增其他的功能,使介面更美觀。