python - Tkinter Button 似乎没有调用它的命令
问题描述
我正在尝试打开用户选择的文件(包含订单)。在一个按钮的命令下。
因此,我在“浏览”按钮上附加了一个“选择文件”功能,该功能可以完美运行并将路径存储在 selected_orders 中。
选择文件后,用户应单击附加到(现在)打开文件并打印其内容的功能的“搜索”按钮。此搜索按钮不起作用。然而,该函数确实在运行时调用,我得到一个错误(filenotfounderror [errorno2])。我已经用 if/else 块“解决”了这个错误,但是当按下按钮时它不会调用搜索功能,我不知道为什么。
我没有收到 if/else 块的错误,它只是我可以按下那个按钮,直到我变老变灰,仍然什么都不会发生。当逐行浏览程序时,按下按钮也会在搜索功能中选择代码。
谁能看到并解释为什么我的搜索按钮不打印保存在 selected_orders 中的文件的内容?以及如何解决?
from tkinter import *
from tkinter.filedialog import askopenfilename
Gui = Tk()
Gui.geometry("800x600")
selected_orders = ""
def select_file():
selected_orders = askopenfilename()
select_orders.configure(text = selected_orders)
select_orders = Button(Gui, text = "Browse", command = select_file)
select_orders.pack()
def searchfunc():
if selected_orders == "":
print ("no orders selected yet")
else:
with open(selected_orders) as order_data:
orders = order_data.readlines()
print(orders)
search = Button(Gui, text = "Search", command = searchfunc())
search.pack()
Gui.mainloop()
有点免责声明,但这是我的第一篇文章,所以如果我的问题不符合标准,我很抱歉,请让我知道如何改进。我也自学了python,所以如果我的代码又不是完全禅宗,对不起,请告诉我如何改进。
解决方案
推荐阅读
- r - 通过R中的分隔符将一列拆分为多列
- c - 用于在检索响应时与 POP3 本地服务器不一致进行交互的 Openssl 库
- sql - 如何编写一个 SQL 查询来显示基于模式的所有职业命中数超过 2000 的玩家的 ID、名字、姓氏
- .htaccess - 如何在 htaccess 中重写子域
- postgresql - 无法在数组上调用 json_object_keys
- javascript - TypeError:无法读取未定义的属性“成员” - Discord.JS
- java - 杰克逊没有被 gradle 导入
- sql - 将数据合并到每条记录的一行 - 可能的 PIVOT
- javascript - 在赛普拉斯四舍五入
- deep-learning - 如何在 Bigquery 和 Keras 中获得相同的 DNN 模型