首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Tkinter焦点不起作用-需要按键键盘根据焦点键入2个不同的条目

Tkinter是Python的一个标准GUI库,用于创建图形用户界面。它提供了一组用于创建窗口、按钮、文本框等GUI组件的类和方法。

在Tkinter中,焦点是指当前接收键盘输入的组件。默认情况下,焦点会自动在组件之间进行切换,但有时候我们需要手动设置焦点。

要使Tkinter中的焦点起作用并根据按键键入不同的条目,可以使用focus_set()方法来设置焦点。该方法将焦点设置为调用它的组件。

下面是一个示例代码,演示了如何使用Tkinter设置焦点并根据按键键入不同的条目:

代码语言:python
代码运行次数:0
复制
import tkinter as tk

def handle_key(event):
    if event.keysym == 'Return':
        if entry1.focus_get():
            print("输入框1:", entry1.get())
        elif entry2.focus_get():
            print("输入框2:", entry2.get())

root = tk.Tk()

entry1 = tk.Entry(root)
entry1.pack()

entry2 = tk.Entry(root)
entry2.pack()

entry1.focus_set()  # 设置焦点为输入框1

root.bind('<Key>', handle_key)  # 绑定键盘事件

root.mainloop()

在上面的代码中,我们创建了两个输入框entry1entry2,并使用focus_set()方法将焦点设置为entry1。然后,我们通过绑定<Key>事件来监听键盘按键。当按下回车键时,根据当前焦点的不同,打印出相应的输入框内容。

这里推荐使用腾讯云的云服务器(CVM)来运行Python程序。腾讯云的云服务器提供了高性能、稳定可靠的计算资源,适合部署各种应用程序。您可以通过以下链接了解更多关于腾讯云云服务器的信息:

腾讯云云服务器产品介绍:https://cloud.tencent.com/product/cvm

希望以上内容能帮助到您!如果还有其他问题,请随时提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Java事件处理,低级事件类型:键盘事件+焦点事件,你真的懂吗?

注意:虚拟键码涉及“扫描码”,这是在按下一个物理键或释放一个物理键时,键盘向计算机发送编码。 假设用户采用按下SHIFT键同时按下A键方式键入大写字母A。...(Sun和Macintosh键盘有一个专门META键。在Sun键盘上,这个按键标记为菱形。在Macintosh键盘上,这个按键用一个苹果或苜蓿叶标记。)...如果对此持有不同观点,可以看看同时检测鼠标按键键盘修饰符所带来混乱。...然而,我们给出测试程序将捕获这些事件,以便在光标位于不同小方块之上时变成另外一种形状(十字)。实现这项操作需要使用Cursor类中getPredefinedCursor方法。...临时性焦点改变是指组件临时性地失去控制,但又可以自动地找回焦点。例如,当用户选择不同活动窗口时就会发生这种情况。只要用户再次选择当前窗口,同一个组件就会重新获得焦点

4K30

Python中tkinter模块常用参数总结

Menu替代;Message 与Label组件类似,但是可以根据自身大小将文本换行;Radiobutton 单选框;Scale    滑块;允许通过滑块来设置一数字值...  “focusin”        当Entry组件获得焦点时候去验证  “focusout”       当Entry组件失去焦点时候去验证  “key”          当输入框编辑时候验证...“none”          关闭验证,默认  vaildatecommand返回Ture or Flase进行验证  vaildatecommand在返回值之后才使用invailcommand执行需要执行命令...;响应事件event对象(def function(event)):char        按键字符,仅对键盘事件有效;keycode         按键名,仅对键盘事件有效;keysym...        按键编码,仅对键盘事件有效;num       鼠标按键,仅对鼠标事件有效;type      所触发事件类型;widget

83830
  • tkinter -- Event(2)

    各个组件间焦点切换可以使用 TAB 键 特 殊 键Cancel/Break/BackSpace/Tab/Return/Sift_L/Shift_R/Control_L/Control_R/Alt_L/...char 是不可打印,可以使用 event.keycode 查看 响应所有的按键(Key)事件 使用 Key 处理所有的键盘事件 代码: import tkinter as tk root = tk.Tk...处理所有的按键事件,如果是上例特殊键,event.char 返回为空;其它情况下为这个键值 如果输入大写字母(即上档键值),按下 Shift 键时就会有 Key 事件触发。...即回将用两次:一次为 Shift 本身,另一次为 Shift+ Kye 实际键值 只处理指定按键消息 代码: import tkinter as tk root = tk.Tk() def printCoords...一般按键直接使用就可以了,这样书写'key',不是'' 但有两个需要特别注意:空格与小于处理,使用方式为'和

    67330

    JavaScript 编程精解 中文第三版 十五、处理事件

    事件处理器 想象一下,有一个接口,若想知道键盘上是否有一个键是否被按下,唯一方法是读取那个按键的当前状态。为了能够响应按键动作,你需要不断读取键盘状态,以在按键被释放之前捕捉到按下状态。...当没有特别的焦点时,document.body充当按键事件目标节点。 当用户键入文本时,使用按键事件来确定正在键入内容是有问题。...要注意什么时候输入了内容,每当用户更改其内容时,可以键入元素(例如和标签)触发"input"事件。为了获得输入实际内容,最好直接从焦点字段中读取它。...当失去焦点时,元素会获得blur事件。 与前文讨论事件不同,这两个事件不会传播。子元素获得或失去焦点时,不会激活父元素处理器。 下面的示例中,文本域在拥有焦点时会显示帮助文本。...你可以根据需要实现简单或复杂方法。简单解决方案是保存固定鼠标的轨迹元素并循环使用它们,每次mousemove事件触发时将下一个元素移动到鼠标当前位置。

    5.6K20

    python tkinter 设计指南

    Spinbox 高级输入框 Entry 控件升级版,可以通过该组件上、下箭头选择不同值 Scrollbar 滚动条 默认垂直方向,鼠标拖动改变数值,可以和 Text、Listbox、Canvas...注意,此处需要在英文状态下进行输入 lb.bind('',show_key) # 设置按钮获取焦点 lb.focus_set() lb.pack() # 显示窗口 root.mainloop.../ 按下键盘某一个字母或者数字键 释放键盘按键 回车键,其他同类型键有/// 空格键 /// 方向键 ......常用功能键 组合键,再比如,表示用户同时点击 Ctrl + Shift + T 当控件获取焦点时候触发,比如鼠标点击输入控件输入内容,可以调用 focus_set() 方法使控件获得焦点 当控件失去焦点时激活...,当前鼠标的坐标位置 char 用来显示所按键相对应字符 keysym 按键名,比如 Control_L 表示左边 Ctrl 按键 keycode 按键码,一个按键数字编号,比如 Delete 按键码是

    6.8K30

    Java-GUI编程之事件处理

    ,用于监听不同类型事件 。...事件 AWT把事件分为了两大类: ​ 1.低级事件:这类事件是基于某个特定动作事件。比如进入、点击、拖放等动作鼠标事件,再比如得到焦点和失去焦点焦点事件。...FocusEvent 焦点事件 , 当组件得到焦点或失去焦点 时触发该事件 。 KeyEvent 键盘事件 , 当按键被按下、松开、单击时触发该事件。...2.高级事件:这类事件并不会基于某个特定动作,而是根据功能含义定义事件。...事件监听器 不同事件需要使用不同监听器监听,不同监听器需要实现不同监听器接口, 当指定事件发生后 , 事件监听器就会调用所包含事件处理器(实例方法)来处理事件 。

    1.4K20

    Python 自动化指南(繁琐工作自动化)第二版:二十、使用 GUI 自动化控制键盘和鼠标

    ()函数返回(1920, 1080);根据屏幕分辨率不同,返回值可能会有所不同。...如果需要在文本字段中键入字符串,那么write()函数更合适。但是对于采用单键命令应用来说,press()函数是更简单方法。 热键组合 热键或快捷方式是调用一些应用功能按键组合。...write(message):在给定消息字符串中键入字符。 write([key1, key2, key3]):键入给定键盘按键字符串。 press(key):按下给定键盘按键串。...这将使您不必为每个字段计算要单击 x 和 y 坐标。 以下是在表单中输入数据步骤: 将键盘焦点放在name字段上,这样按键就可以在该字段中键入文本。 键入一个名称,然后按下Enter。...您可以键入一个附加'\t'来将键盘焦点移动到下一个字段或提交按钮。一旦提交按钮成为焦点,调用pyautogui.press('enter')将模拟按下ENTER键并提交表单。

    8.5K51

    flutter 输入框组件TextField实现代码

    this.maxLength, this.maxLengthEnforced: true, this.onChanged, //文字改变触发 this.onSubmitted, //文字提交触发(键盘按键...onEditingComplete默认实现根据情况执行2种不同行为: 当完成操作被按下时,例如“done”、“go”、“send”或“search”,用户内容被提交给[controller],然后焦点被放弃...我们有时候会需要这样情况, 比如一个登录页面, 需要输入账号和密码 , 自然输入完账号就要输入密码了 , 我们在输入账号结束时候 , 让密码输入框获取到焦点 . 看一下代码: ....... keyboardType TextField成为焦点时显示键盘类型。...控制TextField中大小和最大长度 TextFields可以控制在其中写入最大字符数,最大行数并在键入文本时展开。 TextField( maxLength: 4, ), ?

    4.8K11

    【译】W3C WAI-ARIA最佳实践 -- 控件

    也就是说,Tab 和 Shift + Tab 不会把焦点移出对话框。但是,与非模态对话框不同是,模态对话框没有提供在不关闭当前对话框情况下,将键盘焦点移出对话框窗口方法。...包含以下场景工作流程设计,可以聚焦到一个更加符合逻辑不同元素。 用户不太可能需要立即重新唤起对话框。 对话框中完成任务与工作流程中后续步骤直接相关。...建议所有列表框都支持键入提示。尤其是那些拥有超过七个选项列表: 键入字符:焦点移动到名称以键入字符开头下一个项目上。 快速键入多个字符:焦点移动到名称以键入字符串开头下一个项目上。...根据需要,如果选择了所有的节点,它也可以取消选择所有节点。...根据需要,如果所有的节点都被选择了,它也可以取消选择所有节点。 NOTE DOM焦点(激活元素)与选择状态在功能上是有区别的。

    4.5K30

    【Android TV 开发】焦点处理 ( 父容器与子组件焦点获取关系处理 | 不同电视设备上兼容问题 | 触摸获取焦点 | 按键获取焦点 )

    | 触摸获取焦点 | 按键获取焦点 ) 文章目录 Android TV 开发系列文章目录 一、父容器与子组件焦点获取关系处理 二、不同电视设备上兼容问题 三、按键获取焦点 四、触摸获取焦点 一、父容器与子组件焦点获取关系处理...; 三、按键获取焦点 ---- 按键获取焦点 : 在手机上按键获取焦点已经不常用 , 使用遥控器 / 手柄 控制界面需要关注该操作 ; 在 xml 布局文件中 , 在组件节点上设置如下属性 , 取值...true 或 false ; android:focusable="true" 按键获取焦点 一般是手机自带物理键盘 , D-Pad 遥控器 ( 电视遥控器 ) , 游戏手柄 等 , 使用方向键 ,...控制焦点改变 ; 如果该 android:focusable 属性设置为 true , 则说明该组件可以获取焦点 , 按照不同方向按键 , 焦点跳转到本组件设定对应方向上件 id 对应组件 ;...OnFocusChangeListener 回调 , 获取焦点后才能进行点击 ; EditText 默认自动获取焦点 , 并且进入界面抢先获取焦点 , 该组件需要有光标 , 并且弹出软键盘 ;

    3.2K40

    Python写一个像QQ可快捷键唤起区域截屏应用

    看起来还不错,因为之前用过Tkinter,所以就用Tkinter来做GUI了,不过很久没写,手也生得很。...Tkinkter可以监听键盘事件,但是只有当焦点Tkinter上时才会响应键盘事件,而截图应用是截其他地方图,比如浏览器,聊天软件等等,焦点这时肯定不在Tkinter上,所以需要另找一个可以全局监听键盘事件库...一番搜寻下来确定了实现方法: 使用pynput库来监听键盘,使用Tkinter来做GUI,使用PILImageGrab来截图。...详细实现原理是: 当程序运行起来后就在后台监听键盘,当键盘按下ctrl+shift+M时就使用PIL做全屏截图,接着用Tkinter把全屏截图显示出来,通过Tkinter画布(canvas)和鼠标选取做二次截图...3.开始写截图代码了 pynput、Tkinter、PIL官方和网上都有示例,拿过来改一改,把他们逻辑串在一起就可以调试了。 监听键盘代码如下: ? 截图、调用TK、二次截图主逻辑如下: ?

    2.4K41

    零基础学Python【二十三、图形化界面设计 】(基础一篇全,欢迎认领)

    值为颜色或为颜色代码,如:'red','#ff0000' 7 highlightcolor 文本框高亮边框颜色,当文本框获取焦点时显示 8 justify 显示多行文本时候,设置不同行之间对齐方式,...执行这些函数,可弹出模式消息对话框,并根据用户响应但会一个布尔值。...将控件实例绑定到键盘事件和部分光标不落在具体控件实例上鼠标事件时,还需要设置该实例执行focus_set() 方法获得焦点,才能对事件持续响应。例如: frame.focus_set()。...所调用自定义函数若需要利用鼠标或键盘响应值,可将event作为参数,通过event属性获取。...可显示字符,若按键不可显示,则返回为空字符串 keysysm 字符或字符型按键名,如:“a”或“Escape” keysysm_num 按键十进制 ASCII 码值 例如:将标签绑定键盘任意键触发事件并获取焦点

    14.2K30

    PythonGUI编程(二)Butto

    Button 控件是一种标准 Tkinter 控件, 用来展现不同样式按钮. Button 控件被用以和用户交互, 比如按钮被鼠标点击后, 某种操作被启动....不同是, Label 控件可以指定字体, Button 控件只能使用单一字体. Button 上文字可以多行显示.  可以将一个 Python 函数或方法绑定到一个 Button 控件....highlightbackground, highlightcolor 类型:颜色; 说明:控制焦点所在高亮边框颜色。当窗口部件获得焦点时候,边框为highlightcolor所指定颜色。...takefocus 类型:标志; 说明:表明用户可以Tab键来将焦点移到这个按钮上。默认值是一个空字符串,意思是如果按钮有按键绑定的话,它可以通过所绑定按键来获得焦点。...width, height 类型:距离; 说明:按钮尺寸。如果按钮显示文本,尺寸使用文本单位。如果按钮显示图象,尺寸以象素为单位(或屏幕单位)。如果尺寸没指定,它将根据按钮内容来计算。

    1.7K10

    python button使用方法_python gui界面设计

    大家好,又见面了,我是你们朋友全栈 Button 控件是一种标准 Tkinter 控件, 用来展现不同样式按钮. Button 控件被用以和用户交互, 比如按钮被鼠标点击后, 某种操作被启动....不同是, Label 控件可以指定字体, Button 控件只能使用单一字体. Button 上文字可以多行显示. 可以将一个 Python 函数或方法绑定到一个 Button 控件....highlightbackground, highlightcolor 类型:颜色; 说明:控制焦点所在高亮边框颜色。当窗口部件获得焦点时候,边框为highlightcolor所指定颜色。...takefocus 类型:标志; 说明:表明用户可以Tab键来将焦点移到这个按钮上。默认值是一个空字符串,意思是如果按钮有按键绑定的话,它可以通过所绑定按键来获得焦点。...width, height 类型:距离; 说明:按钮尺寸。如果按钮显示文本,尺寸使用文本单位。如果按钮显示图象,尺寸以象素为单位(或屏幕单位)。如果尺寸没指定,它将根据按钮内容来计算。

    1.5K30

    Python3中tkinter模块使用方法详解

    Menu替代;     Message          与Label组件类似,但是可以根据自身大小将文本换行;     Radiobutton      单选框;     Scale           ...ID,创建一个图形时将它赋值给一个变量,需要ID时就可以使用这个变量名。    ...;     FocusOut            当组件失去焦点时触发;     Property             当窗体属性被删除或改变时触发;     Visibility           ...当组件变为可视状态时触发; 响应事件 event对象(def function(event)):     char                按键字符,仅对键盘事件有效;     keycode            ...按键名,仅对键盘事件有效;     keysym             按键编码,仅对键盘事件有效;     num                鼠标按键,仅对鼠标事件有效;     type

    4.5K21

    AndroidTV小窥及keyEvent事件传递流程

    首先我不做AndroidTV,只是因为一些汽车屏幕无法触摸,所以无法获得Touch事件,但是车机上有一些旋钮,可以拿到一些键盘事件,因此需要用这些键盘事件对系统(不是应用)进行交互。...所以,为了解决这个问题,就需要先了解一下Android TV应用原理,以及键盘事件是如何传递。 模拟Android TV 下面是最终Demo效果。 ?...界面上有9个CardView,分布为: 1—2—3 4—5—6 7—8—9 焦点 为了使每个CardView接收焦点,所以需要设定焦点相关属性: android:clickable="true"...开始计算记录按键方向 direction 触发查找焦点 先查找当前当前持有焦点View,DecorView会从顶部一层一层往下调用findFocus方法找到当前获取焦点View 如果是View,...另外,就是从系统层面给所有的view添加focusable属性,也就是解析时候给view都加上这个属性。 最后就是焦点显示,可能也需要给所有的view添加获取焦点放大或加边框显示。

    1.5K10

    软件测试|软件测试|超好用超简单Python GUI库——tkinter(八)

    在使用 Tkinter 进行 GUI 编程过程中,如果需要用户自己进行选择时就可以使用列表框控件。列表框中选项可以是多个条目,也可以是单个唯一条目,但常用于多个条目。...selectmode决定选择模式,tk 提供了四种不同选择模式,分别是:"single"(单选)、"browse"(也是单选,但拖动鼠标或通过方向键可以直接改变选项)、"multiple"(多选)和..."extended"(也是多选,但需要同时按住 Shift 键或 Ctrl 键或拖拽鼠标实现),默认是 "browse"setgrid指定一个布尔类型值,决定是否启用网格控制,默认值是 Falsetakefocus...指定该组件是否接受输入焦点(用户可以通过 tab 键将焦点转移上来),默认值是 Truexscrollcommand为 Listbox 组件添加一条水平滚动条,将此选项与 Scrollbar 组件相关联即可...)listbox1.pack()# i表示索引值,item 表示值,根据索引值位置依次插入for i,item in enumerate(["穆勒","穆西亚拉","萨内","马内","德里赫特"])

    2K10

    常用键盘事件

    键盘事件            // 常用键盘事件        //1. keyup 按键弹起时候触发        document.addEventListener(...'keyup', function() {            console.log('我弹起了');       }) ​        //3. keypress 按键按下时候触发...三个事件执行顺序 keydown -- keypress -- keyup     2、 键盘事件对象 注意: 1) onkeydown 和 onkeyup 不区分字母大小写(...2)在我们实际开发中,我们更多使用keydown和keyup,它能识别所有的键 (包括功能键) 3) keypress 不识别功能键,但是 keypress keyCode属性能区分大小写,返回不同...ASCII值 使用keyCode属性判断用户按下哪个键            // 键盘事件对象中keyCode属性可以得到相应键ASCII码值        document.addEventListener

    1.5K20

    inputchangecompositionkeydown事件详解

    change事件在用户行为导致input | select | textareavalue改变 && (失去焦点 || 回车)时触发。 composition事件在输入法编辑器输入字符后触发。...keydown事件在按下键盘按键后触发。 扩展阅读 详细介绍各个事件不同。 input input是理想文本内容变化监听事件,可以在内容改变后实时触发。...change change事件触发时机根据表单元素type与用户交互决定。...对于type为radio | checkboxinput,当元素:checked时触发(通过点击或者使用键盘) 对于需要选择表单元素,当用户完成提交时触发,例如: 点击select中选项。...其中keydown会在按下任意字符后触发,keyup会在按键弹起后触发(chrome下中/英切换按钮弹起不会触发keyup)。

    2.4K10
    领券