python3 tkinter Entry() 无法选择文本字段,直到我单击应用程序窗口外部一次

2024-03-21

我用 python3、tkinter 编写了一个非常简单的应用程序,但我看到 Entry() 出现一些奇怪的行为。我是 tkinter 和 python 的新手。

import os
from tkinter import Tk, Entry, filedialog

class MyGUI:
    def __init__(self,master):

        self.master = master

        self.date_entry = Entry(master)
        self.date_entry.pack()
        self.date_entry.insert(0,"test")

        self.master.mainloop()

root = Tk()
root.directory = os.path.abspath(filedialog.askdirectory())
my_gui = MyGUI(root)

当我运行此代码时,倒数第二行导致了以下问题: 当我尝试编辑“测试”文本时,我无法选择它(没有光标或任何东西)。但是,如果我在应用程序之外(例如桌面)单击一次,我就可以对其进行编辑。

有谁知道是什么问题?

我想知道这是否与文件对话框创建的新应用程序窗口有关,但我找不到答案。

感谢您的回复!


在测试了这个奇怪的行为之后,似乎只要添加一个按钮来获取目录,问题就会消失。

然而我觉得很奇怪,我会看看是否能找到任何可以解释为什么 tkinter 这样做的东西。

这段代码应该适合你:

import tkinter as tk
from tkinter import filedialog

class MyGUI(tk.Tk):
    def __init__(self):
        tk.Tk.__init__(self)

        self.date_entry = tk.Entry(self)
        self.date_entry.pack()
        self.date_entry.insert(0, "test")
        self.directory = ""
        tk.Button(self, text="Get Directory", command=self.get_directory).pack()

    def get_directory(self):
        self.directory = filedialog.askdirectory()

MyGUI().mainloop()

UPDATE:

我最近了解到添加update_idletasks()在文件对话框修复焦点问题之前。

更新的代码:

import os
from tkinter import Tk, Entry, filedialog

class MyGUI:
    def __init__(self,master):

        self.master = master

        self.date_entry = Entry(master)
        self.date_entry.pack()
        self.date_entry.insert(0,"test")

        self.master.mainloop()

root = Tk()
root.update_idletasks() # fix focus issue.
root.directory = os.path.abspath(filedialog.askdirectory())
my_gui = MyGUI(root)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python3 tkinter Entry() 无法选择文本字段,直到我单击应用程序窗口外部一次 的相关文章

  • 使用 Boto3 进行 IAM 身份验证的 SQLAlchemy 可刷新凭证

    我使用 Boto3 生成的身份验证令牌通过 Sqlalchemy 连接到 Amazon RDS self client boto3 client rds region name eu central 1 self token self cl
  • 如何在 Django Admin 的“更改”页面中显示内嵌上传的图像?

    我正在尝试在中显示内联上传的图像 变更列表 页面在 Django 管理中 这是我的代码如下 models py from django db import models class Product models Model name mod
  • 我无法使用 Python 和 Facebook Marketing API 获取所有 Facebook 营销活动的统计信息

    我正在尝试检索以下指标 date campaign name impressions clicks spend 在我的 Facebook 帐户中的所有活动中 但显然我编写的脚本仅返回某些活动的统计数据 而不是全部 它仅返回大多数营销活动的营
  • 如何在Python中获取声音级别?

    对于我正在进行的项目 我需要获取麦克风的实时分贝级别 我见过阴谋家 Print out realtime audio volume as ascii bars import sounddevice as sd import numpy as
  • 如何更新 Tkinter Canvas 上的图像?

    我正在尝试制作一个脚本 该脚本将使我能够动态更新图像对象 然后将更新后的图像发布到 Tkinter Canvas 小部件 这里的代码是原型代码 只是为了了解基础知识 这里的目的是在画布显示的图像上的单击位置放置一个蓝色像素 这里发生了一些非
  • 更改自动插入 tkinter 小部件的文本颜色

    我有一个文本框小部件 其中插入了三条消息 一条是开始消息 一条是结束消息 一条是在 单位 被摧毁时发出警报的消息 我希望开始和结束消息是黑色的 但被毁坏的消息 参见我在代码中评论的位置 插入小部件时颜色为红色 我不太确定如何去做这件事 我看
  • 如何将交互式 matplotlib 图形插入 tkinter 画布

    我正在尝试将交互式 matplotlib 图形 具有滑块 重置按钮和单选按钮的图形 放入 tkinter Canvas 中 我已成功添加非交互式图表 但当它变为交互式时找不到问题 我尝试将所有内容更改为使用 matplotlib Figur
  • VSCode:调试配置中的 Python 路径无效

    对 Python 和 VSCode 以及 stackoverflow 非常陌生 直到最近 我已经使用了大约 3 个月 一切都很好 当尝试在调试器中运行任何基本的 Python 程序时 弹出窗口The Python path in your
  • 如何添加 id 列来标识 read_html() 表?

    考虑以下站点 site1 http pastebin com vpnGqn5X site2 http pastebin com FbAFGbfR site3 http pastebin com LqZWxFSP 其中有许多不同的表 我在用读
  • 删除aws beanstalk上的uuid python包

    这是针对所提出问题的后续帖子 问题here https stackoverflow com questions 44421761 flask beanstalk deployment errors 以防万一对其他人有用 自从第一篇文章以来
  • 在 pywin32 中创建一个新的 Excel 文件

    我正在编写一个程序 概括来说 采用记事本文件并将其另存为 Excel 文件 现在我的程序打开一个我创建的空白 Excel 文件 只是 Book1 xls xlApp Dispatch Excel Application xlApp Visi
  • python 排列有问题

    我在排列方面遇到一些问题 当谈到Python时 我真的是一个大菜鸟 所以任何帮助将不胜感激 假设我在文本文件中有一个范围为 1 6 的列表 例如 它看起来像 1 2 3 4 5 6 我想打开所述 txt 文件并计算这 6 个数字中 N 的所
  • aiohttp 线程缓慢

    我复制了代码如何在线程中运行 aiohttp 服务器 https stackoverflow com questions 51610074 how to run an aiohttp server in a thread 它运行良好 所以我
  • 如何使用Python3、Selenium Chrome WebDriver在第一次请求之前预加载cookie?

    是否可以使用添加cookieadd cookie 对于一个域 比如说stackoverflow com在使用 Selenium Chrome WebDriver 进行实际请求之前get 到域上的页面stackoverflow com 尝试时
  • Tkinter 将鼠标点击绑定到框架

    我一定错过了一些明显的东西 我的 Tkinter 程序中有两个框架 每个框架在网格布局中都有一堆标签 我想将鼠标点击绑定到其中一个而不是另一个 我目前使用 root bind
  • 在html表格的每一行添加点击功能

    我最近创建了一个函数 它根据用户在网站中的输入进行一些复杂的名称匹配 并将结果作为表格格式的 html 文件返回 我的问题是如何在每一行添加点击功能 df get cust info returns a pandas dataframe d
  • 为什么 dataclasses.astuple 返回类属性的深层副本?

    在下面的代码中astuple函数正在执行数据类的类属性的深层复制 为什么它不能产生与函数相同的结果my tuple import copy import dataclasses dataclasses dataclass class Dem
  • 我应该使用 Python 双端队列还是列表作为堆栈? [复制]

    这个问题在这里已经有答案了 我想要一个可以用作堆栈的 Python 对象 使用双端队列还是列表更好 元素数量较少还是数量较多有什么区别 您的情况可能会根据您的应用程序和具体用例而有所不同 但在一般情况下 列表非常适合堆栈 append is
  • 来自 dll 的 Java 调用函数

    我有这个 python 脚本导入zkemkeeperdll 并连接到考勤设备 ZKTeco 这是我正在使用的脚本 from win32com client import Dispatch zk Dispatch zkemkeeper ZKE
  • 嵌套列表的重叠会产生不必要的间隙

    我有一个包含三个列表的嵌套 这些列表由 for 循环填充 并且填充由 if 条件控制 第一次迭代后 它可能类似于以下示例 a 1 2 0 0 0 0 0 0 4 5 0 0 0 0 0 0 6 7 根据条件 它们不重叠 在第二次迭代之后 新

随机推荐

  • 为什么PHP APC缓存未命中不断增加

    我正在使用 apc php 检查 PHP APC 的统计信息 http svn php net viewvc pecl apc trunk apc php 我在相当繁忙的服务器上有以下统计数据 Cached Files 317 26 3 M
  • Recyclerview 中的 Exoplayer 错误,源错误 没有可用的提取器

    我正在使用 ExoPlayer 在 RecyclerView 中流式传输视频 我正在 ViewHolder 内的 RecyclerView 适配器的绑定方法中实现 ExoPlayer 我使用的视频格式是 m3u8 我使用的 URL 在浏览器
  • 我如何使用 PHP 获取当前月份和前三个月

    谁能告诉我如何使用 PHP 获取当前月份和前三个月 例如 echo date y M d 输出将为 09 Oct 20 但是我需要 August 九月 October 作为输出 提前致谢 Fero 对于月份的完整文本表示 您需要传递 F e
  • 改进最小/最大下采样

    我有一些大型数组 约 1 亿点 需要以交互方式绘制 我目前正在使用 Matplotlib 按原样绘制数组会变得非常慢并且很浪费 因为无论如何您都无法可视化那么多点 因此 我创建了一个最小 最大抽取函数 并将其与轴的 xlim changed
  • Vim Spell 选项忽略包含下划线、数字等的源代码标识符

    vim 拼写检查器中是否有任何选项可以忽略纯文本文件中包含下划线 多个大写字母 减号 数字的单词 我在手册 7 2 或谷歌搜索中找不到任何内容 您可以使用syntax命令与 NoSpell簇 syn match myExCapitalWor
  • 无 JIT 优化

    看一下这个问题 https stackoverflow com questions 17761515 java multiplication strange behaviour 代码 class test public static voi
  • 由于 IDFA 无法点击“准备上传二进制文件”

    我即将提交应用程序的更新 当我单击 准备上传二进制文件 时 我收到以下问题 此应用程序是否使用广告标识符 IDFA 由于 AdMob 使用它 我选择 是 下图显示了当我单击 继续 时发生的情况 唯一的问题是 无法选择应用程序如何使用IDFA
  • 为什么随机类不是真正随机的? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我在留言板上读到过这件事 Random班级并不是真正随机的 它是使用数学公式以可预测的方式创建的 真的是这样吗 如果是这样 Random真的不是随机的
  • Python 输入无法正确比较[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我今天在测试中做到了这一点 然后回来测试它 我知道更好的方法来做到这一点 但为什么这不起作用 def f e raw input ente
  • 从现有架构生成表关系图(SQL Server)[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有没有办法生成一个图表 显示现有表及其与数据库的连接的关系 这是针对 SQL Server 2008 Express Edition 的
  • 什么是 C/C++ 数据段和堆栈大小?

    我读到这取决于编译器和操作系统架构 如何在使用 GCC 作为编译器的 Linux 系统上找到数据段和堆栈最大大小 让我和你一起实验一下 创建文件 test c 如下所示 int main void return 0 现在编译它 指定最大堆栈
  • 使用 ExtJ 进行多选组合框

    如何实现多选组合框作为Ext FormPanel使用ExtJs 我一直在寻找 但似乎找不到与最新版本的 ExtJs 兼容的解决方案 这个问题 https stackoverflow com questions 2635809 multise
  • 加载 tableview 之前检测 iPhone 方向

    所以 我有点陷入困境 根据这个帖子 https stackoverflow com questions 3402401 get launch orientation of ipad app iPhone iPad 的方向在一定程度上是纵向的
  • 提交的 iPhone 应用程序二进制详细信息中显示“预渲染图标标志:true”,但图标在商店中显示为光泽效果 [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 图标已包含
  • 如何设置 UINavigationBar 上后退按钮的文本? [复制]

    这个问题在这里已经有答案了 可能的重复 如何更改导航栏上 后退 按钮的标题 https stackoverflow com questions 1449339 how do i change the title of the back bu
  • 如何将 $index 从 ng-repeat 表获取到模态控制器?

    我有一个使用 angularjs bootstrap ui 创建的客户记录表 并使用 ng repeat 表中每行的末尾都有一个按钮 用于获取有关客户的更多信息 单击该按钮时 会弹出一个包含信息的模态表单 我的问题是无论我按哪个按钮我都会得
  • Cocoa 有布局/几何管理吗?

    如果我创建 WinForms Qt Gtk 应用程序 我使用所谓的 布局管理器 或 几何管理器 根据小部件内的文本和我的指令自动布局我的 UI 例如 如果我布局一个具有大编辑字段且其下方有 2 个按钮右对齐的窗口 我会编写以下代码 使用垂直
  • 使用 ASIFormDataRequest 将 json 发送到 php

    我是 iPhone 新手 我正在尝试将 NSMutable 数组转换为 json 字符串 然后使用 request 将此字符串发送到 php 文件 然后使用响应 NSLog 再次打印它 以确保它已成功发送 所以我在viewDidLoad中编
  • 将字符串附加到 IronScheme 中的现有文本文件

    我们正在尝试使用 IronScheme 构建一个日志文件 并且我们已经使用racket 为其编写了代码 它在球拍中工作正常 但 IronScheme 会抛出错误 这是我们目前所拥有的 define write to log lambda w
  • python3 tkinter Entry() 无法选择文本字段,直到我单击应用程序窗口外部一次

    我用 python3 tkinter 编写了一个非常简单的应用程序 但我看到 Entry 出现一些奇怪的行为 我是 tkinter 和 python 的新手 import os from tkinter import Tk Entry fi