pythonentry控件_[译][Tkinter 教程07] Entry 控件

本文详细介绍了Tkinter库中的Entry控件,用于接收用户输入的一行文本。讲解了如何创建、获取输入值、设置默认值以及清除内容的方法,并通过实例展示了如何创建简单的用户输入表单和简易计算器应用。
摘要由CSDN通过智能技术生成

已获原作者授权. 原系列地址: Python Tkinter

简介

Entry 是 Tkinter 用来接收字符串等输入的控件. 该控件允许用户输入一行文字. 如果用户输入的文字长度长于 Entry 控件的宽度时, 文字会向后滚动. 这种情况下所输入的字符串无法全部显示. 点击箭头符号可以将不可见的文字部分移入可见区域. 如果你想要输入多行文本, 就需要使用 Text 控件. Entry 控件只能使用预设字体.

使用 Entry 控件的语法如下:

w = Entry(master, option, ...)

master 参数为其父控件, 就是用来放置这个 Entry 的控件. 像其他控件一样, 我们可以在创建 Entry 控件之后再为其指定属性. 因此创建方法中的 options 选项可以为空.

下例为一个显示了两个 Entry 控件的应用. 一个用来输入姓氏, 一个用来输入名字. 我们用不带参数的构造方法创建 Entry.

from tkinter import *

master = Tk()

Label(master, text="First Name").grid(row=0)

Label(master, text="Last Name").grid(row=1)

e1 = Entry(master)

e2 = Entry(master)

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

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

mainloop( )

上面代码运行后生成如下窗口:

现在我们已经创建了两个 Entry, 用户可以在这个应用中输入数据. 但我们的程序如何得到这些数据呢?

方法很简单, 调用 Entry 类的 get() 方法即可. 我们改进了上面的程序, 添加了 "退出" 和 "显示" 两个按钮. 在 "显示" 按钮上, 我们绑定了 show_entry_fields() 函数, 该函数会调用 Entry 类的 get() 方法. 这样每次 "显示" 按钮被点击, Entry 控件的内容就会打印在终端里.

from tkinter import *

def show_entry_fields():

print("First Name: %s\nLast Name: %s" % (e1.get(), e2.get()))

master = Tk()

Label(master, text="First Name").grid(row=0)

Label(master, text="Last Name").grid(row=1)

e1 = Entry(master)

e2 = Entry(master)

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

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

Button(master, text='Quit', command=master.quit).grid(row=3, column=0, sticky=W, pady=4

用面包板制作四人抢答器 四人智力竞赛抢答器 一、设计目的 1.掌握四人智力竞赛抢答器电路的设计、组装与调试方法。 2.熟悉数字集成电路的设计和使用方法。 二、设计任务与要求 1、设计任务 设计一台可供4名选手参加比赛的智力竞赛抢答器。 用数字显示抢答倒计时间,由“9”倒计到“0”时,无人抢答,蜂鸣器连续响1秒。选手抢答时,数码显示选手组号,同时蜂鸣器响1秒,倒计时停止。 2、设计要求 (1)4名选手编号为:1,2,3,4。各有一个抢答按钮,按钮的编号与选手的编号对应,也分别为1,2,3,4。 (2)给主持人设置一个控制按钮,用来控制系统清零(抢答显示数码管灭灯)和抢答的开始。 (3)抢答器具有数据锁存和显示的功能。抢答开始后,若有选手按动抢答按钮,该选手编号立即锁存,并在抢答显示器上显示该编号,同时扬声器给出音响提示,封锁输入编码电路,禁止其他选手抢答。抢答选手的编号一直保持到主持人将系统清零为止。 (4)抢答器具有定时(9秒)抢答的功能。当主持人按下开始按钮后,定时器开始倒计时,定时显示器显示倒计时间,若无人抢答,倒计时结束时,扬声器响,音响持续1秒。参赛选手在设定时间(9秒)内抢答有效,抢答成功,扬声器响,音响持续1秒,同时定时器停止倒计时,抢答显示器上显示选手的编号,定时显示器上显示剩余抢答时间,并保持到主持人将系统清零为止。 (5)如果抢答定时已到,却没有选手抢答时,本次抢答无效。系统扬声器报警(音响持续1秒),并封锁输入编码电路,禁止选手超时后抢答,时间显示器显示0。 (6)可用石英晶体振荡器或者555定时器产生频率为1Hz的脉冲信号,作为定时计数器的CP信号。 三、四人智力竞赛抢答器电路原理及设计 1、设计方案 抢答器具有锁存、定时、显示和报警功能。即当抢答开始后,选手抢答按动按钮,锁存器锁存相应的选手编码,同时用LED数码管把选手的编码显示出来,并且开始抢答时间的倒计时,同时用LED数码管把选手的所剩抢答时间显示出来。而在选手按键抢答以及抢答时间倒计时到时的时候都有报警以提醒主持人和选手。抢答时间设定9秒,报警响声持续1秒。接通电源后,主持人将开关拨到“清除”状态,抢答器处于禁止状态,编号显示器灭灯,定时器显示设定时间;主持人将开关置“开始”状态,宣布“开始”抢答器工作。定时器倒计时,扬声器给出声响提示。选手在定时时间内抢答时,抢答器完成:优先判断、编号锁存、编号显示、扬声器提示。当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示剩余时间。如果再次抢答必须由主持人再次操作“清除”和“开始”状态开关。 2、系统框图 当主持人宣布开始,定时电路开始秒脉冲电路的作用而进行倒记时,并通过码器在显示器中显示。报警电路给出声音提示。当选手首先按某一开关键时,可通过触发锁存电路被触发并锁存,在输出端产生相应的开关电平信息,同时为防止其它开关随后触发而产生紊乱,最先产生的输出电平变化又反过来将触发电路锁定。然后在码器中码,将触发器输出的数据转换为数码管需要的逻辑状态。最后在显示电路中显示出所按键选手的号码。若有多个开关同时按下时,则在它们之间存在着随机竞争的问题,结果可能是它们中的任一个产生有效输出。如图1. 图1系统框图 3、方案比较 方案1:采用CD4511芯片作为抢答信号的触发、锁存和码输出。这样虽然比较简便,但实际在实现锁存功能时比较繁琐难实现。 方案2:采用D触发器和码器来完成抢答部分。虽然元件较多,但在实现锁存功能时可以简单的实现。 经过对比两方案的优缺点,决定采用抢答信号锁存简单实现的方案2。然后利用软件Multisim来进行仿真调试,再进行逐步改进。 4、单元电路设计及元器件选择 (1)抢答电路 电路如图2所示。该电路完成两个功能:一是分辨出选手按键的先后,并锁定74LS175的功能真值表即优先抢答者的编号,同时码显示电路显示选手编号;二是要使其他选手随后的按键操作无效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值