weixin_55061897 2022-02-26 22:51 采纳率: 60%
浏览 163
已结题

how to获取button函数的返回值?

用tkinter 写一个gui
可是不知道如何获取button函数的返回值
代码如下:

import os
import time
# from time import mktime
def a ():
    txt = filedialog.askopenfilename()
    return  txt

# txt = filedialog.askopenfilename()
top=tkinter.Tk()
g=tkinter.Button(top,text='选择文件',command=a)
g.pack()
top.mainloop()
start=time.time()
# txt=a()
bb=""
# 第二个参数为 1,返回两个参数列表
x = txt.split(".")[0:-1]
for i in range(len(x)-1):
    bb=bb + x[i] + "."
h=bb + x[len(x)-1] + "_4k.png"

想要的效果,点击选择文件,然后点击文件,获取到文件的名称,然后修改名称
看了很多文章,依然还是失败了

  • 写回答

1条回答 默认 最新

  • ~白+黑 Python领域新星创作者 2022-02-26 23:47
    关注

    你无法区这个返回值,你可以设置一个变量,temp=tkinter.StrinVar(),然后在a函数里把return那句换成temp.set(txt)
    然后在外部你就可以通过temp.get()获取到这个值了,或者使用全局变量接收这个值.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月12日
  • 已采纳回答 3月4日
  • 创建了问题 2月26日

悬赏问题

  • ¥50 labview采集不了数据
  • ¥15 请上面代码做什么处理或什么混淆
  • ¥15 英雄联盟自定义房间置顶
  • ¥15 W5500网线插上无反应
  • ¥15 如何用字典的Key,显示在WPF的xaml中
  • ¥15 weautomate读取Excel表格信息然后填写到网页一直报错,如何解决?
  • ¥15 C#如何在Webview2中获取网页验证码
  • ¥15 esp32烧录失败,具体情况在图片上
  • ¥15 selenium安装报错
  • ¥15 在node.js中无法安装yarn