python网站有中文界面吗_手把手教你用python开发界面程序

本教程介绍了如何使用Tkinter库开发Python图形用户界面(GUI)。从创建窗口、设置标题和大小开始,逐步讲解了标签、按钮、输入框、文本框和消息对话框等组件的使用,并通过一个用户登录窗口的实例展示了Tkinter的实际应用。通过练习和案例,读者将熟悉Tkinter的基本组件和布局管理。
摘要由CSDN通过智能技术生成

在本教程中 我们将通过使用Tkinter包编写一些python GUI示例来学习如何开发图形用户界面。 Tkinter包是作为标准包随Python一起提供的 所以我们不需要安装任何东西来使用它。 Tkinter包是一个非常强大的包。如果已

在本教程中,我们将通过使用Tkinter包编写一些python GUI示例来学习如何开发图形用户界面。

Tkinter包是作为标准包随Python一起提供的,所以我们不需要安装任何东西来使用它。

Tkinter包是一个非常强大的包。如果已经安装了Python,那么可以使用IDLE,它是Python附带的集成IDE,这个IDE是用Tkinter编写的。听起来很酷!!

我假设您对Python基础知识有一点了解,以帮助您理解我们正在做什么。

我们将从创建一个窗口开始,然后学习如何添加小部件,如按钮、组合框等,然后使用它们的属性,让我们开始吧。

案例说明

现在,通过一个简易的用户登录窗口的实现,快速上手tkinter。

可以在登录窗口输入用户名、密码进行登录,用户名、密码符合要求,则显示OK消息,反之则显示Error消息。如下面图片所示:

74de6f885f9a4cb0713b6cd85922e857.png

image

851712255ce71794371d2e3e2c1c0509.png

image

b0107512f024905520407a5929c016ea.png

image

熟悉常用的基本组件

俗话说“磨刀不误砍柴工”,在进行案例代码编写前,先花点时间完成下面6个代码段的练习,熟悉这些基本组件的使用方法。

定义并显示主窗口

#?导入tkinter库

import?tkinter

window?=?tkinter.Tk()

#?设置窗口title

window.title('my?window')

#?设置窗口大小

window.geometry('200x120')

#?显示主窗口

window.mainloop()

运行结果如下:

527ad57a3b20406292e470f8759206c6.png

image

lable标签

import?tkinter

window?=?tkinter.Tk()

window.title('my?window')

window.geometry('200x180')

l?=?tkinter.Label(window,

????text='This?is?Label!',????#?标签的文字

????bg='pink',?????#?背景颜色

????font=('Arial',?12),?????#?字体和字体大小

????width=15,?height=2??#?标签长宽

????)

#?固定窗口位置

l.pack()

window.mainloop()

运行结果如下:

074c178b024699ef513040699e800b1d.png

image

pack&grid&place 组件布局

import?tkinter

window?=?tkinter.Tk()

window.title('my?window')

window.geometry('200x180')

#?pack布局

l1?=?tkinter.Label(window,text='This?is?Label!',bg='pink',width=15,?height=2)

l1.pack(side='bottom')

#?grid布局

#?for?i?in?range(4):

#?????for?j?in?range(3):

#?????????tkinter.Label(window,?text=1).grid(row=i,??#?行

#????????????????????????????????????????????column=j,??#?列

#????????????????????????????????????????????padx=10,??#?单元格左右间距

#????????????????????????????????????????????pady=10??#?单元格上下间距

#????????????????????????????????????????????)

###?place布局

l2?=?tkinter.Label(window,?text='This?is?Label2!',?justify=tkinter.RIGHT,?width=50)

l2.place(x=40,?y=50,???#?设置x,y坐标

?????????width=100,?height=30??#?设置长宽

?????????)

window.mainloop()

运行结果如下:

3d67d7b429eac4a70e81b5fdda6fb451.png

image

注释pack布局代码,去除grid布局代码注释,然后运行,运行结果如下:

988dd4ff6188d0ebc484978f757a7329.png

image

Button按钮

import?tkinter

window?=?tkinter.Tk()

window.title('my?window')

window.geometry('200x120')

#?定义button

b?=?tkinter.Button(window,

???????????????????text='退出',??#?按钮的文字

???????????????????bg='pink',??#?背景颜色

???????????????????width=15,?height=2,??#?设置长宽

???????????????????command=window.quit??#?响应事件:关闭窗口

???????????????????)

b.pack()

window.mainloop()

运行结果如下:

deeb7367137b742d53558ab8b25fbb60.png

image

2.5. Entry&Text输入框与文本框

import?tkinter

window?=?tkinter.Tk()

window.title('my?window')

window.geometry('200x200')

def?plus():

????n1?=?e1.get()??#?获取输入框1的值

????n2?=?e2.get()??#?获取输入框2的值

????t.delete(1.0,?'end')??#?清除文本框内容

????t.insert('insert',?int(n1)+int(n2))??#?将结果添加到文本框显示

l1?=?tkinter.Label(window,?text='输入数字1')

l1.pack()

#?定义输入框1

e1?=?tkinter.Entry(window,?width=15)

e1.pack()

#?定义输入框2

l2?=?tkinter.Label(window,?text='输入数字2')

l2.pack()

e2?=?tkinter.Entry(window,?width=15)

e2.pack()

b1?=?tkinter.Button(window,?text="计算两数之和",?command=plus)

b1.pack()

#?定义文本框

t?=?tkinter.Text(window,?

?????????????????state='normal',??#?有disabled、normal?两个状态值,默认为normal

?????????????????width=15,?height=2

?????????????????)

t.pack()

b2?=?tkinter.Button(window,?text='退出',?command=window.quit)

b2.pack()

window.mainloop()

运行结果如下:

38404b8c50dc6f6b79bc574b693046ee.png

image

messagebox消息对话框

import?tkinter

import?tkinter.messagebox

window?=?tkinter.Tk()

window.title('my?window')

window.geometry('200x100')

def?say_hello():

????tkinter.messagebox.showinfo(title='my?message',?message='hello!')

#?定义消息对话框

b?=?tkinter.Button(window,?text="click",?command=say_hello)

b.pack()

window.mainloop()

运行结果如下:

0dcdd89a8d9b6d6b9e77b5e13adaa408.png

image

464e2ef4c896384b55334ef57b1d4107.png

image

案例代码实现

import?tkinter

import?tkinter.messagebox

#?用户登录验证

def?login():

????name?=?entryName.get()

????pwd?=?entryPwd.get()

????if?name?==?'admin'?and?pwd?==?'123456':

????????tkinter.messagebox.showinfo(title='userlogin',?message='ok')

????else:

????????tkinter.messagebox.showerror(title='userlogin',?message='Error')

#?清空用户输入的用户名和密码

def?cancel():

????varName.set('')

????varPwd.set('')

window?=?tkinter.Tk()

window.title('my?window')

window.geometry('200x120')

varName?=?tkinter.StringVar(value='')

varPwd?=?tkinter.StringVar(value='')

#?创建标签

labelName?=?tkinter.Label(window,?text='User?Name',?justify=tkinter.RIGHT,?width=80)

#?将标签放到窗口上

labelName.place(x=10,?y=5,?width=80,?height=20)

#?创建文本框,并设置关联的变量

entryName?=?tkinter.Entry(window,?width=80,?textvariable=varName)

entryName.place(x=100,?y=5,?width=80,?height=20)

labelPwd?=?tkinter.Label(window,?text='User?Pwd:',?justify=tkinter.RIGHT,?width=80)

labelPwd.place(x=10,?y=30,?width=80,?height=20)

#?创建密码文本框

entryPwd?=?tkinter.Entry(window,?show='*',?width=80,?textvariable=varPwd)

entryPwd.place?(x=100,?y=30,?width=80,?height=20)

#?创建按钮组件,同时设置按钮事件处理函数

buttonOk?=?tkinter.Button(window,?text='Login',?command=login)

buttonOk.place(x=30,?y=70,?width=50,?height=20)

buttonCancel?=?tkinter.Button(window,?text='Cancel',?command=cancel)

buttonCancel.place(x=90,?y=70,?width=50,?height=20)

#?启动消息循环

window?.mainloop()

文章来源 :p_l_l

https://www.jianshu.com/p/58b047f3985d

- EOF -

推荐阅读??点击标题可跳转

Python100行-贪吃蛇小游戏

用python打包exe应用程序-PyInstaller

20行python代码的入门级小游戏

10行python代码做出哪些酷炫的事情?

一行Python代码能做出哪些神器的事情

都来到这了,拜托拜托点个赞

以上信息来源于网络,如有侵权,请联系站长删除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值