Windows 上 Python 3.4 中的 Tkinter 在退出时不会将内部剪贴板数据发布到 Windows 剪贴板

2024-04-16

我使用以下代码将小脚本的结果放置在剪贴板中。

from tkinter import Tk
r = Tk()
r.withdraw()
r.clipboard_clear()
r.clipboard_append("Result")

它在 Python 3.3.5 及更早版本上运行良好。但是当我升级到 Python 3.4 时,它收到的是空剪贴板。我尝试了 3.4.0、3.4.1 和 3.4.2,都收到了一个结果(空剪贴板)。如果我阻止脚本立即退出,请添加input() after clipboard_append(),我看到剪贴板包含正确的“结果”。

Update1:

修改后的测试脚本显示问题不是时序问题:

from tkinter import Tk
r = Tk()
r.withdraw()
r.clipboard_clear()
r.clipboard_append("Result")
input()
r.destroy()

如果我运行此脚本,请等待几秒钟,然后按 Enter 键,我会收到空​​剪贴板。

如果我运行脚本,切换到任何其他窗口并按 Ctrl+V,我会收到“结果”,并且脚本退出后“结果”仍保留在剪贴板中。

我认为在tcl/tk 8.6clipboard_clear()影响系统剪贴板,但是clipboard_append仅影响仅通过操作系统请求传输到系统剪贴板的内部 tcl/tk 剪贴板。看起来它是在 Linux 中完成的,没有系统剪贴板。

Update2:

最后提及剪贴板于Tk 变更日志 http://upstream-tracker.org/changelogs/tk/8.6.1/changelog.html指的是 2004 年:

2004-05-03 (bug fix)[939389, 822002, 732662] Correctly post internal 
clipboard data to the Windows clipboard on exit. (hobbs)

看来2004年纠正的错误在10年后又回到了我们的身边。


我怀疑“结果”永远不会到达剪贴板,而不是被清除。 Windows 上的 3.4 附带 tcl/tk 8.6,而不是 8.5。我怀疑这就是差异,并且可能是时间问题。做r.destroy追加工作之后?在退出 python 之前显式销毁 tk 根通常是一个好主意。在我们开始这样做之前,我们的测试套件遇到了问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows 上 Python 3.4 中的 Tkinter 在退出时不会将内部剪贴板数据发布到 Windows 剪贴板 的相关文章

  • Pytorch 损失为 nan

    我正在尝试用 pytorch 编写我的第一个神经网络 不幸的是 当我想要得到损失时遇到了问题 出现以下错误信息 RuntimeError Function LogSoftmaxBackward0 returned nan values in
  • 箱线图与箱线图有何不同?

    我想知道当我们在海生图书馆中有箱线图时为什么会有箱线图 我知道一件事是箱线图优化了表示数据的方式 特别是对于大型数据集 但我不知道为什么 除此之外 我没有任何充分的理由使用箱线图 箱线图将中位数显示为中心线 第 50 个百分位数 然后将第
  • 隐藏控制台并执行 python 脚本

    我正在尝试使用 pyinstaller 在 Windows 10 上使用 pyqt5 模块编译在 python 3 中构建的 python 脚本 该脚本在运行时隐藏窗口 为了编译我的脚本 我执行了以下命令 pyinstaller onefi
  • 如何/在哪里发布 Python 包

    如果一个人创建了一个有用的 Python 包 那么如何 在哪里发布 宣传它以供其他人使用 我已经把它放到了 github 上 但几周后谷歌也没有找到它 包装整洁完整 我制作它供我个人使用 不与其他人分享将是一种耻辱 这是 PyPI 指南 h
  • 从 SQL Server 中调用 Python 文件

    我的文件名中有 Python 脚本 C Python HL py 在此 Python 脚本中 有预测模型以及对 SQL 数据库中某些表的更新 我想将此文件称为 SQL 作业 我怎样才能做到这一点 这个问题不一样 如何在 SQL Server
  • python: X 服务器上的致命 IO 错误 11(资源暂时不可用):0.0

    我正在尝试读取一些图像 稍后打算对它们执行一些任务 同时将图像读入内存 我想显示动画 gif 图像 为此 我必须使用线程 现在它给出错误 python Fatal IO error 11 Resource temporarily unava
  • 无法加载 php_curl

    我已经在WindowsXp上安装了php5 2 13 apache2 2 15 将C php添加到PATH ssystem变量中 我无法启用卷曲扩展 我配置了extension dir并删除了 在 php ini 中形成 php curl
  • Python - 使用 win32com.client 将 Excel 单元格范围格式化为表格

    我正在尝试编写一个函数 该函数选择工作表中的所有非空单元格 根据内容调整列宽 并将其格式化为表格 我被困在最后一点 这是我当前的代码 import win32com client from win32com client import co
  • Windows Server / Datacenter:设置 CPU 关联性 > 64 个核心

    SetThreadAffinityMask 允许为 64 个逻辑核心 处理器 设置关联掩码 但是 Windows Datacenter 最多可以有 64 个 CPU 每个 CPU 都有多个内核 请参阅here http social tec
  • 无法将 python 数据框中的列类型从 object 转换为 str

    我已经下载了一个csv文件 然后将其读取到python dataframe 现在所有4列都有对象类型 我想将它们转换为str类型 现在dtypes的结果如下 Name object Position Title object Departm
  • Flask-httpauth: get_password 装饰器如何为 basic-auth 工作?

    我想知道有没有人用过这个烧瓶延伸 https github com miguelgrinberg flask httpauth简化 http basic auth 基本上我不明白这个example https github com migu
  • 如何将 Jinja 与 Twisted 一起使用?

    我正在计划使用 Python 与 Twisted Storm 和 Jinja 一起开发一个讨论软件 问题是 Jinja 不是为 Twisted 或异步套接字库而设计的 并且使用 Twisted 提供的性能是我不打算使用 Flask 的原因
  • __subclasses__ 没有显示任何内容

    我正在实现一个从适当的子类返回对象的函数 如果我搬家SubClass from base py 没有出现子类 subclasses 它们必须在同一个文件中吗 也许我从来没有直接导入subclass py对Python隐藏子类 我能做些什么
  • 在 Python 中将 int 转换为 ASCII 并返回

    我正在为我的网站制作一个 URL 缩短器 我当前的计划 我愿意接受建议 是使用节点 ID 来生成缩短的 URL 因此 理论上 节点 26 可能是short com z 节点 1 可能是short com a 节点 52 可能是short c
  • 带回溯的 Dijkstra 算法?

    In a 相关主题 https stackoverflow com questions 28333756 finding most efficient path between two nodes in an interval graph
  • 如何克服 numpy.unique 的 MemoryError

    我正在使用 Numpy 版本 1 11 1 并且必须处理一个二维数组 my arr shape 25000 25000 所有值都是整数 我需要一个唯一的数组值列表 使用时lst np unique my arr 我正进入 状态 Traceb
  • 使用 JSON 可序列化枚举自动生成棉花糖模式

    创建与我的模型相同的棉花糖模式的日子已经一去不复返了 我发现这个优秀的答案 https stackoverflow com a 42892443 4097322这解释了我如何使用简单的装饰器从 SQA 模型自动生成模式 因此我实现了它并替换
  • 是否可以使用 Python 中的密码安全地加密然后解密数据?

    我在 python 程序中有一些数据 我想在使用密码写入文件之前对其进行加密 然后在使用它之前读取并解密它 我正在寻找一些可以根据密码进行加密和解密的安全对称算法 这个问题 https stackoverflow com questions
  • 继承自 NumPy 数组的类如何更改其自身的值?

    我有一个继承自 NumPy n 维数组的简单类 我想要该类的两个方法可以更改该类实例的数组值 其中一种方法应将类实例的数组设置为类实例的列表数据属性的值 另一种方法应将一些列表值附加到类实例的数组中 我不确定如何实现这一点 但我的尝试如下
  • 应用程序的外观 - Py2exe / wxPython

    所以我的问题是我的应用程序的外观和感觉 因为它看起来像一个旧的外观应用程序 它是一个 wxPython 应用程序 在 python 上它运行良好并且看起来不错 但是当我使用 py2exe 将其转换为 exe 时 外观很糟糕 现在我知道如果你

随机推荐

  • Eclipse更新后插件消失了

    已使用更新 Eclipse PDTWindow gt Check for Updates特征 重启后所有第三方插件似乎都被关闭了 从 开始 clean命令行键没有帮助 Eclipse Installation Detals正确包含有关我所有
  • 从两个表中选择最大值、最小值

    我有两张桌子 不同之处在于 归档是一个表 另一个保存当前记录 这些是记录公司销售额的表格 在这两个字段中 我们都有其他字段 id 名称 销售价格 我需要从两个表中选择给定名称的最高价格和最低价格 我尝试处理查询 select name ma
  • 寻找贝宝付款教程[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个教程 它将向我展示如何接受贝宝付款 因为我对文档不太了解 在教程中 我只需要了解如何在发起
  • 如何获取传递给 JNI 的枚举值

    我有一个 Java 应用程序和 JNI dll 我想知道如何获取作为参数传递给 JNI 的枚举 int 的值 这是枚举 Java public enum envelopeType NOT SPECIFIED 1 NONE 0 IMAGE 1
  • 如何在 IntelliJ 15 中导入现有的 Grails 3 (3.0.12) 项目

    IntelliJ 网站上有用于创建新 Grails 项目的文档 但导入项目比较粗略 我无法让它为我工作 如果我告诉 IntelliJ 导入一个新项目 并将其指向我的项目目录 它不会将其识别为 Grails 项目 项目导入后 我可以转到 项目
  • Docker mysql 主机没有特权

    我正在尝试配置一个nodejs 容器来连接到mysql 数据库 我的代码如下所示 var pool mysql createPool host mysql port 3306 user root password database gene
  • IE8 不渲染某些 HTML 名称实体

    某些 HTML 名称实体未在 IE8 中呈现 相反我可以看到未呈现的 HTML 实体 例如 scedil or inodot 我找到了一个使用 HTML 数字实体的解决方案 例如 351 代替 scedil 我想知道是否有人知道这个问题的原
  • 除了扩展名之外,.json、.txt、.html、.css 和 .js 文件之间有什么区别吗?

    动力是 我有一些 JSON 我已经将其保存为 txt 文件一段时间了 我想将它们全部重命名为 json 以更准确 我很确定它们都是 UTF 8 大多数可以通过 Ajax 发送的文件也是如此 无论如何 这个问题提出了一个更大的问题 除了扩展名
  • 使用 jQuery 传递 POST 数据时打开 URL

    是否可以使用 jQuery 更改页面 URL 同时将发布数据传递到新页面 如果您的意思是要更改current页面 URL 那么您可以添加新的
  • 在没有互联网的情况下使用 Javascript 获取 GPS 位置 [重复]

    这个问题在这里已经有答案了 您好 如果设备具有 GPS 硬件 我们可以在没有互联网连接的情况下使用 JavaScript 获取 GPS 位置吗 请注意谁将其标记为重复 我需要 JavaScript 在没有互联网连接的情况下工作 并使用 GP
  • 从 mysql 表获取行到 php 数组

    如何获取 mysql 表的每一行并将其放入 php 数组中 我需要一个多维数组吗 所有这一切的目的是稍后在谷歌地图上显示一些点 您需要从表中获取所需的所有数据 像这样的事情会起作用 SQLCommand SELECT someFieldNa
  • 如何使用 CSS 更改图标图像的颜色? [复制]

    这个问题在这里已经有答案了 我想弄清楚如何更改半透明和半纯色图像的颜色 我希望能够更改白色的颜色 这样我就可以添加悬停 并添加以动态方式更改 WordPress 中颜色的功能 使用 Photoshop 来填充图像不是一个选项 因为我要在我的
  • Android 将 Px 转换为 Dp(视频宽高比)[重复]

    这个问题在这里已经有答案了 可能的重复 在android中将像素转换为dp https stackoverflow com questions 4605527 converting pixels to dp in android 我正在尝试
  • 有没有办法为 Heroku Toolbelt 设置默认应用程序?

    我在heroku上有多个app git远程 我想知道是否可以配置一个默认应用程序 这样 每当我忘记指定应用程序时 app 工具带会使用它 您可以设置heroku remote在存储库的 Git 配置中键入默认远程名称 例如 如果您的遥控器被
  • Gradle:战争任务有冲突的包含/排除

    我正在尝试使用 Gradle 构建一个 war 文件 但遇到了一个问题 即排除一个目录并包含另一个恰好具有相同名称但父目录不同的目录 请注意 在下面的第一个代码示例中 两者都没有css 目录将包含在最终版本中war文件 我假设是因为 Gra
  • 如何设置 JSlider 的大小?

    我在网上搜索了此问题的解决方案 但没有找到任何有效的方法 我在 JPanel 中有一个垂直 JSlider 它使用 GridBagLayout 和 GridBagConstraints 将对象定位在面板上 目前我有以下代码 gbc grid
  • 有返回值的 C void 函数

    据我所知 returnvoid 函数中的语句将引发错误 但在下面的程序中 情况并非如此 这里显示的输出是1 怎么会 main int i 5 printf d fun fun fun i void fun int i if i 2 retu
  • R 图中行的恒定绝对间距

    In R 我该如何调整height绘图设备的价值 例如 windows or png 以便点之间的绝对间距保持不变 这是一个例子来说明我的意思 n lt 10 windows width 4 height 4 par xpd NA plot
  • 带水平滚动的 C3 / D3 条形图

    我正在创建一个 c3 条形图 其中每个条形代表在给定的一周内加入某个计划的人数 数据只是一个对象数组 其中包含 week of people week of people 等 理想情况下 我希望图表中显示最近 6 周的数据 但我希望能够水平
  • Windows 上 Python 3.4 中的 Tkinter 在退出时不会将内部剪贴板数据发布到 Windows 剪贴板

    我使用以下代码将小脚本的结果放置在剪贴板中 from tkinter import Tk r Tk r withdraw r clipboard clear r clipboard append Result 它在 Python 3 3 5