python文本框label_Python+Tkinter输入框和标签,pythontkinter,及,Label

要求:账号密码输入框,插入图片等

一、代码

from tkinter import *

import tkinter as tkinter

from PIL import Image, ImageTk

app = Tk()

sw = app.winfo_screenwidth()

sh = app.winfo_screenheight()

ww = 610

wh = 400

x = (sw-ww)/2

y = (sh-wh)/2

app.geometry("%dx%d+%d+%d" %(ww,wh,x,y))

#这里加上图片的路径可以添加图片

photo = PhotoImage(file='E:\\Python\\b1.gif')

lbi = Label(app, image = photo)

lbi.grid(row=0, columnspan = 2)

Label(app, text= "账号:").grid(row = 1, column = 0)

Label(app, text= "密码:").grid(row = 2, column = 0)

#tkinter里的string变量用来存储Entry里的textvariable

v1 = StringVar()

v2 = StringVar()

e1 = Entry(app, textvariable = v1)

e2 = Entry(app, textvariable = v2, show = "*")#show里可以是别的符号

e1.grid(row = 1, column = 1)

e2.grid(row = 2, column = 1)

def show():

print("账号:%s"%e1.get())#get是用来获取e1的内容的

print("密码:%s"%e2.get())

def dele():

e1.delete(0,END)

e2.delete(0,END)

theButton1 = Button(app, text = "确认",width = 10,command = show)

theButton2 = Button(app, text = "退出",width = 10,command = app.quit)#app.quit是退出IDLE里冲突不能执行

theButton1.grid(row =3 ,column =0,sticky =W+E, padx=10,pady =5)

theButton2.grid(row =3 ,column =1,sticky =E+W, padx=10,pady =5)

mainloop()

二、代码提示

1. 插入图片代码

photo = PhotoImage(file='E:\\Python\\b1.gif')

lbi = Label(app, image = photo)

lbi.grid(row=0, columnspan = 2)

注意:tkinter支持gif格式,不支持jpg格式。

图片是gif格式的,如果选择的jpg、png格式的图片,可以通过Photoshop改变一下图片格式。

若插入的jpg图片,则出现错误:

_tkinter.TclError: couldn't recognize data in image file "E:\Python\b1.jpg"

2.  grid()进行布局管理

grid()使用的主要参数:

(1)

row=x,column=y

:将控件放在x行,y列的位置

如果不指定参数,则默认从0开始;

此处的行号和列号并不是像在坐标轴上一样严格,只是代表一个上下左右的关系

(2)

columnspan

: 设置单元格横向跨越的列数,即控件占据的列数(宽度);

rowspan

:设置单元格纵向跨越的行数,即控件占据的行数(高度)

(3)

ipadx

:设置控件里面水平方向空白区域大小;

ipady

:设置控件里面垂直方向空白区域大小

padx

:设置控件周围水平方向空白区域保留大小;

pady

:设置控件周围垂直方向空白区域保留大小

(4)

sticky:

默认的控件在窗口中的对齐方式是居中

sticky=N/S/E//W:

顶端对齐/底端对齐/右对齐/左对齐

sticky=N+S:

拉伸高度,使其在水平方向上顶端和底端都对齐

sticky=E+W:

拉伸宽度,使其在垂直方向上左边界和右边界都对齐

sticky=N+S+E:

拉伸高度,使其在水平方向上对齐,并将控件放在右边(当两个控件放在同一行同一列时效果明显)

3. 如果需要将输入的文字显示在界面上

v2.set(e1.get())

def show():

print("输入的汉字:%s"%e1.get())

v2.set(e1.get())

同时,设置一个按钮用于触发这个事件

theButton1 = Button(app,text = "显示输入",width = 10,command = show)

三、实现效果

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值