tkinter: AttributeError: 'Button' object has no attribute 'get'
tkinter: AttributeError: 'Button' object has no attribute 'get'
我正在尝试使用 tkinter 编写一个小型 GUI,用户可以在其中 select 一个文件夹,然后处理该文件夹。
我使用 tkinter 的 filedialog.askdirectory
函数创建了一个按钮,其中包含一个命令 select 一个文件夹。现在我想将路径传递给一个我可以在其他函数中使用的变量。
import tkinter as tk
from tkinter import filedialog
# %% define the GUI Class
class OCTExportGUI():
def __init__(self, master):
self.master=master
self.master.title("OCT - RAW Export")
self.pathToFolder = None
self.master['padx'] = 5
self.master['pady'] = 5
# %% define GUI Widgets here
self.pickFolderBtn = tk.Button(master, text="Chose Folder", width=10,
command = self.folderPicker)
self.pickFolderBtn.grid(row=10, column=0)
self.executeBtn = tk.Button(master, text="Execute", width=10,
command = self.executeExport)
self.executeBtn.grid(row=20, column=0)
# %% Functions for GUI
def folderPicker(self):
filedialog.askdirectory(initialdir = "/",title = "Select Folder Containing Your OCT Files")
self.pathToFolder=self.pickFolderBtn.get()
self.master.destroy
def executeExport(self):
print("execute")
self.master.destroy
# %% Define Main loop end extract input variables
master = tk.Tk()
OEG=OCTExportGUI(master)
master.mainloop()
x = OEG.pathToFolder
不幸的是,我收到以下错误。
File "C:\Users\tmc\Desktop\OCT_Export\Widget.py", line 43, in folderPicker
self.pathToFolder=self.pickFolderBtn.get()
AttributeError: 'Button' object has no attribute 'get'
似乎 tkinter 按钮没有属性 get()。从函数 folderPicker()
获取路径的正确方法是什么?
最佳TMC
这里问了一个类似的问题: 但答案显然不适用于我的情况。
只需将self.pathToFolder定义为字符串即可。
def folderPicker(self):
self.pathToFolder = filedialog.askdirectory(initialdir = "/",title = "Select Folder Containing Your OCT Files")
我正在尝试使用 tkinter 编写一个小型 GUI,用户可以在其中 select 一个文件夹,然后处理该文件夹。
我使用 tkinter 的 filedialog.askdirectory
函数创建了一个按钮,其中包含一个命令 select 一个文件夹。现在我想将路径传递给一个我可以在其他函数中使用的变量。
import tkinter as tk
from tkinter import filedialog
# %% define the GUI Class
class OCTExportGUI():
def __init__(self, master):
self.master=master
self.master.title("OCT - RAW Export")
self.pathToFolder = None
self.master['padx'] = 5
self.master['pady'] = 5
# %% define GUI Widgets here
self.pickFolderBtn = tk.Button(master, text="Chose Folder", width=10,
command = self.folderPicker)
self.pickFolderBtn.grid(row=10, column=0)
self.executeBtn = tk.Button(master, text="Execute", width=10,
command = self.executeExport)
self.executeBtn.grid(row=20, column=0)
# %% Functions for GUI
def folderPicker(self):
filedialog.askdirectory(initialdir = "/",title = "Select Folder Containing Your OCT Files")
self.pathToFolder=self.pickFolderBtn.get()
self.master.destroy
def executeExport(self):
print("execute")
self.master.destroy
# %% Define Main loop end extract input variables
master = tk.Tk()
OEG=OCTExportGUI(master)
master.mainloop()
x = OEG.pathToFolder
不幸的是,我收到以下错误。
File "C:\Users\tmc\Desktop\OCT_Export\Widget.py", line 43, in folderPicker
self.pathToFolder=self.pickFolderBtn.get()
AttributeError: 'Button' object has no attribute 'get'
似乎 tkinter 按钮没有属性 get()。从函数 folderPicker()
获取路径的正确方法是什么?
最佳TMC
这里问了一个类似的问题:
只需将self.pathToFolder定义为字符串即可。
def folderPicker(self):
self.pathToFolder = filedialog.askdirectory(initialdir = "/",title = "Select Folder Containing Your OCT Files")