欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

荐 Python Tkinter学习笔记01 适合想学习Tkinter的小白

程序员文章站 2022-09-14 13:28:11
摘要:本文主要介绍Tkinter的简单使用。tkinter是python自带的GUI库,是对图形库TK的封装tkinter是一个跨平台的GUI库,开发的程序可以在win,linux或者mac下运行.除此之外还存在很多图形库。本文主要内容有标签和按钮的使用、输入框和文本框、列表部件、选择按钮、尺度(进度条)、单选框、多选框和画布等Tkinter知识点。...

摘要:本文主要介绍Tkinter的简单使用。tkinter是python自带的GUI库,是对图形库TK的封装
tkinter是一个跨平台的GUI库,开发的程序可以在win,linux或者mac下运行.除此之外还存在很多图形库。本文主要内容有标签和按钮的使用、输入框和文本框、列表部件、选择按钮、尺度(进度条)、单选框、多选框和画布等Tkinter知识点。

1.标签和按钮的简单使用

1.1代码

import tkinter as tk

""""制作一个简单的ui界面,和点击事件 2020.7.6"""

#创建一个窗口对象
window = tk.Tk()
#设置窗口名字
window.title('第一个python软件界面')
#设置窗口的长和宽
window.geometry('600x300')

var = tk.StringVar()

#在窗口上定义一个Label对象  窗口对象 文本内容 背景颜色 字体格式  label的长和宽
leb = tk.Label(window,textvariable=var,bg='green',font=('Arial',12),width=15,heigh=8)

#安置leb 位置
leb.pack()

flag = False
def hit():
    global flag
    if flag == False:
        flag = True
        var.set("python")
    else:
        flag = False
        var.set("")

#在窗口上定义一个Button对象
butt = tk.Button(window,text="点击试试",width=30,height=2,command=hit)
butt.pack()


#window会不断的刷新 是一个while循环 每点击一次会更新数据
window.mainloop()


"""
1.使用global语句:
如果你想要为一个定义在函数外的变量赋值,那么你就得告诉Python这个变量名不是局部的,
而是 全局 的。我们使用global语句完成这一功能。没有global语句,是不可能为定义在函数外的变量赋值的。

你可以使用定义在函数外的变量的值(假设在函数内没有同名的变量)。然而,我并不鼓励你这样做,
并且你应该尽量避免这样做,因为这使得程序的读者会不清楚这个变量是在哪里定义的。使用global语句可以清楚地表明变量是在外面的块定义的。

"""

1.2结果

荐
                                                        Python Tkinter学习笔记01  适合想学习Tkinter的小白

2.简单使用entry和text对象

2.1代码

import tkinter as tk

""""简单使用entry和text对象 2020.7.6"""

#创建一个窗口对象
window = tk.Tk()
#设置窗口名字
window.title('第一个python软件界面')
#设置窗口的长和宽
window.geometry('600x300')

#定义一个enter 密码格式:show='*' show=None  show=1显示固值1,不论你输入什么内容
enter= tk.Entry(window,show=None)
enter.pack()

#定义insert操作功能函数
def insert01():
    var = enter.get()
    txt.insert('insert',var)#放在指针所标出来的位置

def insert02():
    var = enter.get()
    txt.insert('end', var)  #放在尾部位置  txt.insert(1.1, var)在第一行的第一位后面插入

#定义两个button
butt1 = tk.Button(window,text="插入光标位置后",width=15,height=2,command=insert01)
butt1.pack()
butt2 = tk.Button(window,text="插入尾部",width=10,height=2,command=insert02)
butt2.pack()

#定义一个text
txt = tk.Text(window,height=8)
txt.pack()


#window会不断的刷新 是一个while循环 每点击一次会更新数据
window.mainloop()


"""


"""

2.2结果
荐
                                                        Python Tkinter学习笔记01  适合想学习Tkinter的小白

3.简单使用列表部件

3.1代码

import tkinter as tk

""""简单使用列表部件 2020.7.6"""

#创建一个窗口对象
window = tk.Tk()
#设置窗口名字
window.title('第一个python软件界面')
#设置窗口的长和宽
window.geometry('600x300')

var1 = tk.StringVar()
leb = tk.Label(window,bg="yellow",width=4,textvariable=var1)
leb.pack()

#打印选中值,curselection选择光标所在位置
def showSelect():
   value = lb.get(lb.curselection())
   var1.set(value)

#在窗口上定义一个Button对象
butt = tk.Button(window,text="点击选择",width=15,height=2,command=showSelect)
butt.pack()

#定义一个listBox
var2 = tk.StringVar()
var2.set((11,22,33,44))
lb = tk.Listbox(window,listvariable=var2)
list_items = [1,2,3,4]
for i in list_items:
    lb.insert('end',i)
lb.insert(1,'first')
lb.insert(2,'second')
lb.delete(2)
lb.pack()
#window会不断的刷新 是一个while循环 每点击一次会更新数据
window.mainloop()


"""

"""

3.2结果

荐
                                                        Python Tkinter学习笔记01  适合想学习Tkinter的小白

4.制作一个简单的选择按钮

4.1代码

import tkinter as tk

""""制作一个简单的选择按钮,和点击事件 2020.7.6"""

#创建一个窗口对象
window = tk.Tk()
#设置窗口名字
window.title('第一个python软件界面')
#设置窗口的长和宽
window.geometry('600x300')

var = tk.StringVar()
leb = tk.Label(window,text='empty',bg='green',width=15)
leb.pack()

def selects():
    leb.config(text='你的选择是'+var.get())#给莪leb设置值

#定义单选框 如果选中,则把value的值给var 选中A,则var=A
rb0 = tk.Radiobutton(window,text='Option A',variable=var,value='A',command=selects).pack()
rb1 = tk.Radiobutton(window,text='Option B',variable=var,value='B',command=selects).pack()
rb2 = tk.Radiobutton(window,text='Option C',variable=var,value='C',command=selects).pack()


window.mainloop()

4.2结果

荐
                                                        Python Tkinter学习笔记01  适合想学习Tkinter的小白

5.制作一个简单的进度条

5.1代码

import tkinter as tk

""""制作一个简单的进度条,和点击事件 2020.7.7"""

#创建一个窗口对象
window = tk.Tk()
#设置窗口名字
window.title('第一个python软件界面')
#设置窗口的长和宽
window.geometry('600x300')

var = tk.StringVar()
leb = tk.Label(window,text='empty',bg='green',width=15)
leb.pack()

def selects(v):
    leb.config(text='你的选择是'+v)#给莪leb设置值

#定义进度条即尺度 名称 范围  方向 长度 是否显示值 标签单位长度 保留的位数
scale = tk.Scale(window,label='调整',from_=1,to=10,orient=tk.HORIZONTAL,
                 length=200,showvalue=1,tickinterval=3,resolution=0.01,command=selects).pack()


window.mainloop()

5.2结果

荐
                                                        Python Tkinter学习笔记01  适合想学习Tkinter的小白

6.制作一个简单的多选框

6.1代码

import tkinter as tk

""""制作一个简单的多选框 2020.7.7"""

#创建一个窗口对象
window = tk.Tk()
#设置窗口名字
window.title('第一个python软件界面')
#设置窗口的长和宽
window.geometry('600x300')

var = tk.StringVar()
leb = tk.Label(window,text='empty',bg='green',width=20)
leb.pack()

def selects():
    if(var1.get()==1)&(var2.get()==0):
        leb.config(text='你只选择了Python')
    elif(var1.get()==0)&(var2.get()==1):
        leb.config(text='你只选择了C++')
    elif (var1.get()==0)&(var2.get()==0):
        leb.config(text='你没有选中任何选项')
    else:
        leb.config(text='你选择Python和C++')

var1 = tk.IntVar()#定义成整数形式
var2 = tk.IntVar()
#定义多选框 选中后,会绑定值  选中为var1=1,不选中var1=0
ck1 = tk.Checkbutton(window,text='Python',variable=var1,onvalue=1,offvalue=0,command=selects)
ck1.pack()
ck2 = tk.Checkbutton(window,text='C++',variable=var2,onvalue=1,offvalue=0,command=selects)
ck2.pack()

window.mainloop()

6.2结果

荐
                                                        Python Tkinter学习笔记01  适合想学习Tkinter的小白

7.制作一个简单的画布

7.1代码

import tkinter as tk

""""制作一个简单的画布 2020.7.7"""

#创建一个窗口对象
window = tk.Tk()
#设置窗口名字
window.title('python画布界面')
#设置窗口的长和宽
window.geometry('500x500')

canvas = tk.Canvas(window,bg='blue',height=250,width=500)
#导入图片
img_f = tk.PhotoImage(file='img/1.gif')#只能是.gif图片格式
#在画布上显示图片  图片坐标 'N S W E nw ne sw se center'规定铆钉的点 与前面坐标结合使用设置铆钉点的坐标位置
img = canvas.create_image(10,10,anchor='nw',image=img_f)
x0,y0,x1,y1= 400,50,500,80
#画线 两点连接
line = canvas.create_line(x0,y0,x1,y1)
#画形状 两点之间一个圆型状
oval = canvas.create_oval(x0,y0,x1,y1,fill='red')
arc = canvas.create_arc(x0+30,y0+150,x1,y1+150,start=0,extent=180)
rect = canvas.create_rectangle(420,30,440,50)
canvas.pack()

def moveit():
  canvas.move(rect,0,6)#选中移动元素 x每次移动0,y每次移动2

b = tk.Button(window,text='move',command=moveit).pack()


#window会不断的刷新 是一个while循环 每点击一次会更新数据
window.mainloop()


7.2结果

荐
                                                        Python Tkinter学习笔记01  适合想学习Tkinter的小白

参考资料:
B站莫烦Tkinter教学视频

本文地址:https://blog.csdn.net/yue200403/article/details/107173309