首页 > 解决方案 > 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,所以如果我的代码又不是完全禅宗,对不起,请告诉我如何改进。

标签: pythontkinter

解决方案


推荐阅读