Tkinter按钮命令返回值?

2023-12-06

我在从 tkinter 返回变量时遇到问题Button命令。这是我的代码:

class trip_calculator:

    def __init__(self):
        file = self.gui()

    def gui(self):
        returned_values = {}

        def open_file_dialog():
            returned_values['filename'] = askopenfilename()

        root = Tk()
        Button(root, text='Browse', command= open_file_dialog).pack()
        filepath = returned_values.get('filename')
        root.mainloop()
        return filepath
        root.quit()

我只想返回文本文件的文件路径。 tkinter 窗口已打开,我可以浏览并选择文件,但随后却无法return路径。


你的代码现在的样子,filepath在您的窗口出现给用户之前就被分配了它的值。因此字典不可能包含用户最终选择的文件名。最简单的修复方法是filepath = returned_values.get('filename') after mainloop,因此直到用户关闭窗口时主循环结束时才会分配它。

from Tkinter import *
from tkFileDialog import *

class trip_calculator:

    def gui(self):

        returned_values = {} 

        def open_file_dialog():
            returned_values['filename'] = askopenfilename()

        root = Tk()
        Button(root, text='Browse', command= open_file_dialog).pack()


        root.mainloop()

        filepath = returned_values.get('filename')
        return filepath

        root.quit()

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

Tkinter按钮命令返回值? 的相关文章

随机推荐

  • 无法通过EC2实例中的公共IP访问我的elasticsearch

    我已经在我的EC2实例上部署了elasticsearch 7 3版本 服务 当我安装后curl localhost 9200它给了我正确的响应 但是当我通过点击请求访问相同的服务时 http public ip address ec2 in
  • jdbc 小程序出现 NoClassDefFoundError

    我使用 Eclipse 创建了一个小程序 package gui public class MyApplet extends JApplet 该小程序需要两个外部 jar proj jar 和 firebirdsql full jar jd
  • Oracle SQL 触发器自动设置列值

    我正在写一个Oracle触发器 该触发器应自动将 productId 列的值设置为刚刚插入的行的 oid 我写的触发器是 create or replace trigger MyProduct id trg after insert on
  • gnuplot 上的 x 轴值

    我正在使用 gnuplot 我的数据集如下所示 1 0 530000 0 510000 2 0 420000 0 310000 4 0 400000 0 160000 8 0 390000 0 070000 16 0 390000 0 04
  • 信用卡号码验证器无法正常工作

    def checksum card without check card without check card without check 1 1 def numbers string return int x for x in strin
  • 在 Bash 中从 $PATH 变量中删除路径的最优雅的方法是什么?

    或者更一般地说 如何从 Bash 环境变量中以冒号分隔的列表中删除项目 我以为几年前我已经看到了一种简单的方法 使用更高级的 Bash 变量扩展形式 但如果是这样 我已经忘记了它 谷歌的快速搜索令人惊讶地发现很少有相关结果 而且没有一个我称
  • 具有 ObservableCollection 和 INotifyPropertyChange 的 Json.Net 类层次结构被序列化但未反序列化

    我发现自己对此有点迷失 老实说 如果只是类结构与 JSON 错误不匹配 我真的看不到错误 但我对此表示怀疑 因为它与我用来创建 JSON 的类结构完全相同 如果有人能指出我正确的方向 我将不胜感激 我创建了一个 dotnetfiddle 以
  • 当 UIAlertController 处于活动状态时,VoiceOver Z 手势不会触发

    我正在尝试使用 Z 手势来关闭 UIAlertController 我有一个非常简单的应用程序 它有一个带有 1 个按钮的单一视图 点击按钮会出现警报 我已经实施了 BOOL accessibilityPerformEscape NSLog
  • 如果在框列表上单击,如何添加选定的按钮?

    我从这里得到参考 https bootstrap vue js org docs components card card groups https bootstrap vue js org docs components button p
  • 在 C# 中从 C++ 代码中获取对象功能

    我有一个用 C 编写的函数 它调用旧库中的一些函数 该函数创建一些内存 进行调用并销毁内存 为了优化这一点 我将创建一个对象 该对象将保留分配的内存 直到该对象被销毁 不过 我将从 C 调用此函数 并且不相信我可以导出类 而只能导出函数或变
  • 如何在 C# Asp.net 中取消注册 Page.ClientScript

    我正在将 java 脚本注册到我的 Asp net 代码隐藏文件中 该文件工作正常 现在 我在同一页面上有一些更新面板 问题是每当任何更新面板中有任何更改时 都会自动调用此脚本 有什么办法可以阻止这种情况发生吗 我无法从我的页面中删除更新面
  • 如何在PHP中显示或预览上传的图像,而不保存到数据库?

    我的项目实际上涉及2个页面 第1页是一个表单 用于将上传的图像提交到第2页action 2page php 并将显示和预览图像 它应该在客户端服务器上运行 这意味着不涉及将图像文件保存到其中并将特定图像检索回我想要执行的页面的数据库 实际上
  • WELD-001409 不明确的依赖关系

    我想将我的 ejb ProfileEJB 注入到我的 jsf 托管 bean SampleController 中 如下所示 Stateless LocalBean public class ProfileEJB PersistenceCo
  • 我想创建一个 DeskBand。我必须使用 C++ 吗?

    我想创建一个 DeskBand 来在 Windows 任务栏上显示一些信息 但我正在努力在 C 中实现我需要的功能 我接触C 已经有10 15年了 过去 7 年我一直在 NET 中工作 在你说之前 我知道 DeskBands 已被弃用 但建
  • 在 pandas 中保存跳过行并读取 csv

    我有一个清单跳过行 说 1 5 10 gt 行号 当我将其传递给熊猫read csv 它会忽略这些行 但是 我需要将这些跳过的行保存在不同的文本文件中 我浏览了 pandas read csv 文档和其他几篇文章 但不知道如何将其保存到文本
  • 使用 Java URLConnection 进行 Cookie 管理

    我对 android 编程相当陌生 最近成功实现了 HTTP Post 请求 却发现我的 cookie 没有存储在后续的 Post Get 请求之间 我浏览了互联网 找到了一些 Android 的 Apache 客户端和 Java 的 Ht
  • Facebook Like 按钮,用于来自其自己的 ios 应用程序的应用程序的一个 Facebook 页面

    我正在寻找在我的 ios 本机应用程序中显示 Like 按钮 该应用程序的用户已经通过 Facebook 帐户连接到应用程序 stackoverflow 上有几个与 Facebook Like Button 相关的问题 但这些问题并不特定于
  • 可以在一页上使用相同的 schema.org 标记两次吗?

    在产品页面上 我在不同位置对一种产品有两个聚合评级 这意味着它们包含相同的信息 由于用户体验原因 我希望在该页面上出现两次 但我不确定是否可以每次都使用 schema org 标记它们 或者这是否是无用的重复 想知道是否有解决方案itemr
  • 如何在 Clojure 中获取参数名称?

    我想从函数内部获取函数外部定义的 var 的名称 该名称应该是我在原始定义范围内使用的名称 而不是我实际尝试使用该名称的任何嵌套绑定 所以我想做一些类似的事情 学术示例 defn f1 x1 println hello you passed
  • Tkinter按钮命令返回值?

    我在从 tkinter 返回变量时遇到问题Button命令 这是我的代码 class trip calculator def init self file self gui def gui self returned values def