python自带gui_Python自带的GUI界面(Tkinter)教程

1.Python Tkinter(GUI图形界面):

a. What's Tkinter(Tkinter 是什么)?

Tkinter是Python自带的一个GUI库,他可以将我们在command line中的操作进行可视化操作。并且它简单的构造, 多平台, 多系统的兼容性, 能让它成为让你快速入门定制窗口文件的好助手. 它在 python 窗口视窗模块中是一款简单型的. 所以用来入门, 熟悉 窗口视窗的使用, 非常有必要.

b. Tkinter创建窗口以及标签按钮:

我们可以通过如下代码校验你的Tkinter包是否安装成功:

python -m tkinter # 如果安装成功,那么你的桌面会弹出一个窗口,如下:

tqMTpQ.png

接下来,我们要自己创建一个窗口,并且在窗口中加入一个标签Label:

import tkinter as tk

window = tk.Tk() # 创建一个窗口对象

window.title('my first window') #给窗口命名

window.geometry('200x100') #定义窗口的长宽,geometry方法中传入字符串参数,字符串中应为长x宽(Note:x是小写字母x)

# Label(master = None, cnf = {}, **kw), kw参数是类似dict一样接收label组件定义的键值对

l = tk.Label(window, text='successful! created new Label', bg='green', font=('Arial', 12), width=25, height=4)

l.pack() #将定义好的label添加到window上

window.mainloop() #mainloop实际上是使用while循环实现的,因为窗口的内容是会动态变化的

PYdCGJ.png

接下来我们继续在窗口上创建Button按钮,并且我们实现了点击一次按钮Label消失,再点击一次按钮Label重新显示:

import tkinter as tk

window = tk.Tk() # 创建一个窗口对象

window.title('my first window') #给窗口命名

window.geometry('200x100') #定义窗口的长宽,geometry方法中传入字符串参数,字符串中应为长x宽(Note:x是小写字母x)

# Label(master = None, cnf = {}, **kw), kw参数是类似dict一样接收label组件定义的键值对

#l = tk.Label(window, text='successful! created new Label', bg='green', font=('Arial', 12), width=25, height=4)

var = tk.StringVar() #将label中的文本动态化设置,可以利用var.set()方法设置textvariable

l = tk.Label(window, textvariable=var, bg='green', font=('Arial', 12), width=25, height=4)

l.pack() #将定义好的label添加到window上

is_Hidden = False # 设置一个flag变量,用来判断现在窗口的label是显示的还是未显示的

def hidden_me():

global is_Hidden

if is_Hidden == False:

is_Hidden = True

var.set('click me and hidden')

else:

is_Hidden = False

var.set('')

var1 = tk.StringVar()

var1.set('hidden')

#Button(master, option = value, ..), command是点击后发生什么效果的函数

b = tk.Button(window, textvariable = var1, width = 12, height = 2, command = hidden_me)

b.pack() # 将button显示在窗口中

window.mainloop() #mainloop实际上是使用while循环实现的,因为窗口的内容是会动态变化的

点击Button之前:

GVjaPH.png

点击Button之后:

fr8elm.png

再点击hidden Button,Label又会隐藏。

c. Tkinter在窗口中使用输入框Entry & 文本框Text:

我们在网页中经常会遇到输入框和文本框两种常用的表单项,那么,在Tkinter中有Entry和Text对应了这两种常用的框。我们接下来要做一个小案例(在输入框输入文本,然后设置两个button,button1是在你点击文本框内容的光标处插入输入框中的文本。button2是在文本框内容的末尾插入输入框的文本)

import tkinter as tk

window = tk.Tk()

window.title('My Window')

window.geometry('300x200')

e = tk.Entry(window, show = None) # show = None:输入字符可见, show = '*':

e.pack()

# 在光标处插入entry输入框的数据

def insert_point():

var = e.get()

t.insert('insert', var)

# 在文本末尾插入entry输入框的数据

def insert_end():

var = e.get()

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 = 5) # height定义文本框有多少行

t.pack()

window.mainloop()

初始状态:

wnmcHC.png

点击button1 在光标处插入:

![](/Users/liyan/Library/Application Support/typora-user-images/image-20200712223347218.png)

![](/Users/liyan/Library/Application Support/typora-user-images/image-20200712223421949.png)

点击button2在文本框末尾插入:

TmFq7w.png

这样就使用Entry & Text完成了一个小实例

Note:以上例子在PyCharm中运行,button上的文本不会显示,我的电脑是Mac,Python版本3.7+,在命令行运行脚本既可以看到button中的文本属性。大佬如果知道原因可以给我留言。

d. Tkinter中Listbox的使用:

我们经常在网页上使用列表框,就比如选择你在填写表单的时候,你需要填写你的学历,这时候会有一个下拉列表框,上面写着:初中毕业,中专,高中,大学等常见的学历选项,你下拉选择好,点击后就会自动给您填上,我们下面做一个小例子:使用Tikinter中的listbox实现点击下拉列表框中的value,在点击Button,将value打印到窗口设置的Label中。

import tkinter as tk

window = tk.Tk()

win

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值