Python-100-Days 之使用tkinter开发GUI程序 Day10

本文是Python 100天系列的第10天,主要讲解使用tkinter库创建GUI应用程序的基础知识,包括创建简单窗口、实现文本输入与输出功能、利用listbox展示并获取数据、使用radiobutton进行选项选择,以及如何调用messagebox弹出提示窗口。

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()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值