tkinter界面
grid控制调整界面得布局
内容
文本框、输入框
from tkinter import *
from tkinter import messagebox
from tkinter.ttk import *
from tkinter.ttk import Progressbar
window = Tk()
window.title("Price Show")
window.geometry('300x500')
lbl = Label(window,text = "hello")
lbl.grid(column = 1,row = 0)
txt = Entry(window,width = 10)
txt.grid(column =1,row = 1)
txt.focus()
复选框、按钮
combo = Combobox(window)
combo['values'] = (1,2,3,4,5,'Text')
combo.current(1)
a = combo.get()
combo.grid(column = 1,row = 2)
chk_state = BooleanVar()
chk_state.set(True)
chk = Checkbutton(window,text = "Choose",var = chk_state)
chk.grid(column = 1,row = 3)
def clicked():
res = "welcome to " + txt.get()+str(a)
lbl.configure(text = res)
btn = Button(window,text = "clicked me",command = clicked)
btn.grid(column = 1,row = 4)
单选框
selected = IntVar()
lbl_radioChoice = Label(window,text = "show value")
复选框
rad1 = Radiobutton(window,text = "First",value = 1,variable = selected)
rad2 = Radiobutton(window,text = "Second",value = 2,variable = selected)
rad3 = Radiobutton(window,text = "Third",value = 3,variable = selected)
rad1.grid(column = 1,row = 5)
rad2.grid(column = 2,row = 5)
rad3.grid(column = 3,row = 5)
radio_choice_value = selected.get()
独立消息框
def click_message():
messagebox.showinfo("Message title", "Message content")
message_btn = Button(window,text='show message text',command = click_message)
message_btn.grid(column = 0,row = 7)
进度条
bar = Progressbar(window,length = 200)
bar['value'] = 10
bar.grid(column = 0,row = 8)
def change_bar():
for i in range(101):
bar['value'] = i
bar.grid(column = 0,row = 8)
btn2 = Button(window,text = 'test progressbar',command = change_bar)
btn2.grid(column = 1,row = 11)
window.mainloop()
分析与总结
- 用了才发现要实现很好看的特效的话,就不能使用这个。不是很好用,不建议使用的。在就拿控制布局的三种方式来说,grid是很简单,但是很死,而且你要是设置背景图片就不能用grid,网上找了半天都没有找到,可能不是很好用吧。还有两种就是pack和place。其中pack的排列方式不是很好用,你用pack设置了背景,在想用pack设置部件不行。用place又要花很多时间,所以不建议用。只是想做一个比较简单得,不要求什么美工啊,这个还是可以的。所以认命吧。
- 好吧,最终还是折服了,去找了一个人家已经写得差不多了的,真不知道是谁给我的勇气,让我自己重头写一个这样一个项目。只能在人家写好的基础上进行修改了。
- 自己的技术栈确实很差劲,这样下去逃不掉自己被优化的命运,所以就要多去跑跑别人的项目,然后不要老是写csdn,自己在学习别人的项目的时候,要能够写出来自己的项目,不断丰富自己的github。现在就只能先把手里这个项目先应付过去。
借鉴
python GUI Examples python Tkinter Grid布局管理器详解
|