day10 使用tkinter开发GUI程序
–简单的小窗口
import tkinter
window=tkinter.Tk()
window.title('小程序')
window.geometry('800x600') #定义长宽,是x,这个长和宽是页面的长宽
# l=tkinter.Label(window,text='welcome to my channel',bg='green',font=('Arial',12),width=100,height=3)
# l.pack()
var=tkinter.StringVar() #定义一个字符串变量
l=tkinter.Label(window,textvariable=var,bg='green',font=('Arial',12),width=100,height=3) #标签可变
l.pack() #小部件放到主窗口里
on_hit=False
def func():
global on_hit #设置全局变量,因为已经在函数外定义了,所以在函数里面更改要定义全局
if on_hit==False:
on_hit=True
var.set('you hit me')
else:
on_hit=False
var.set(' donnot hit me')
b=tkinter.Button(window,text='hit me',width=15,height=2,command=func)
b.pack()
window.mainloop()
–文本输入与输出
import tkinter as tk
window=tk.Tk()
window.title('选数字')
window.geometry('800x600')
e=tk.Entry(window,show=None) #定义一个空白的框框,可以输入文字
e.pack()
def insert_point():
var=e.get() #索取到entry的值,并且把值放在text中
t.insert('insert',var) #放在指针位置
def insert_end():
var = e.get() # 索取到entry的值,并且把值放在text中
t.insert('end', var) # 放在尾部
b1=tk.Button(window,text='insert point',width=15,height=2,command=insert_point)
b1.pack()
b2=tk.Button(window,text='insert end',width=15,height=2,command=insert_end)
b2.pack()
t=tk.Text(window,height=2) #定义空白文本框
t.pack()
window.mainloop()
–listbox存数据,光标在哪就输出哪个数据
import tkinter as tk
window=tk.Tk()
window.title('小程序')
window.geometry('800x600')
var1=tk.StringVar()
l=tk.Label(window,bg='blue',width=5,height=1,textvariable=var1) #显示内容变化
l.pack()
def print_selection(): #选中的值放到标签中
value=lb.get(lb.curselection())
var1.set(value)
b1=tk.Button(window,text='print selection',width=15,height=2,command=print_selection)
b1.pack()
var2=tk.StringVar() #列表显示
var2.set((11,22,33,44))
lb=tk.Listbox(window,listvariable=var2)
list_items=(1,2,3,4)
for item in list_items:
lb.insert('end',item)
lb.insert(1,'first')
lb.insert(2,'second')
lb.delete(2)
lb.pack()
window.mainloop()
–radiobutton
import tkinter as tk
window=tk.Tk()
window.title('radio button')
window.geometry('800x600')
var=tk.StringVar()
l=tk.Label(window,bg='yellow',width=15,height=1,text='empty')
l.pack()
def select_all():
l.config(text='you have selected '+var.get()) #label里的text改变值
b1=tk.Radiobutton(window,text='Option A',width=8,variable=var,value='A',command=select_all) #var赋值为A
b1.pack()
b2=tk.Radiobutton(window,text='Option B',width=8,variable=var,value='B',command=select_all)
b2.pack()
b3=tk.Radiobutton(window,text='Option C',width=8,variable=var,value='C',command=select_all)
b3.pack()
window.mainloop()
************************* scale *************************
import tkinter as tk
window=tk.Tk()
window.title('尺子')
window.geometry('800x600')
var=tk.StringVar()
l=tk.Label(window,bg='yellow',width=30,height=1,text='empty')
l.pack()
def print_selection(v):
l.config(text='you have selected '+v) #传入标签标的值
s=tk.Scale(window,label='try me',from_=5,to=12,orient=tk.HORIZONTAL,length=500,showvalue=0,tickinterval=3,resolution=0.01,command=print_selection)
"""from_ to 参数,orient方向,length是像素大小,showvalue显示值,tickinterval是间隔单位,resolution精度"""
s.pack()
window.mainloop()
–messagebox 弹出窗口
import tkinter
from tkinter import messagebox
window=tkinter.Tk()
window.title('message box')
window.geometry('800x600')
def hit_me():
# tkinter.messagebox.showinfo(title='窗口',message='hhh')
tkinter.messagebox.showwarning(title='窗口', message='nonono')
t=tkinter.Button(window,text='hit me',command=hit_me)
t.pack()
window.mainloop()
本文是Python 100天系列的第10天,主要讲解使用tkinter库创建GUI应用程序的基础知识,包括创建简单窗口、实现文本输入与输出功能、利用listbox展示并获取数据、使用radiobutton进行选项选择,以及如何调用messagebox弹出提示窗口。
2313

被折叠的 条评论
为什么被折叠?



