self.label1 = ttk.Label(self.initface,text=self.file_path) AttributeError: 'GUI_code_input' object has no attribute 'file_path'
时间: 2023-12-06 17:02:48 浏览: 100
code09_tkinter_login.pyw_python_tkinter_notepad.pyw_
这个错误是因为在`GUI_code_input`类的`__init__()`方法中没有定义`self.file_path`属性,所以在创建`ttk.Label`控件时无法引用它。你可以在`__init__()`方法中添加`self.file_path`属性,并将其初始化为空字符串,如下所示:
```python
import tkinter as tk
from tkinter import ttk
from tkinter import filedialog
class GUI_code_input:
def __init__(self):
self.root = tk.Tk()
self.root.geometry('500x300')
self.root.title('Code Input')
self.file_path = '' # 添加这一行,初始化self.file_path属性为空字符串
button1 = ttk.Button(self.root, text='上传文件', command=self.open_file)
button1.place(x=100, y=100)
self.label1 = ttk.Label(self.root, text=self.file_path)
self.label1.place(x=100, y=150)
self.root.mainloop()
def open_file(self):
self.file_path = filedialog.askopenfilename()
self.label1.config(text=self.file_path)
print(self.file_path)
app = GUI_code_input()
```
在这个版本中,当你点击`上传文件`按钮时,会弹出一个文件选择窗口,选择文件后,`open_file()`方法会将文件路径打印在控制台上,并将文件路径显示在一个`Label`控件上。你可以根据需要修改`Label`的位置、字体、颜色等属性。
阅读全文