button1 = ttk.Button(self.initface, text='上传文件', command=self.open_file()) button1.place(x=100,y=100) def open_file(self): self.file_path = filedialog.askopenfilename() print(self.file_path)为什么一点开自动就弹出
时间: 2024-03-24 12:38:44 浏览: 166
这是因为你在创建`ttk.Button`时,将`command`参数设置为了`self.open_file()`,这样会在窗口创建时就立即执行`self.open_file()`函数,而不是点击按钮时才执行。为了避免这种情况,你可以将`command`参数设置为`self.open_file`,去掉括号,这样就不会在窗口创建时自动执行了。修改后的代码如下:
```python
import tkinter as tk
from tkinter import ttk
from tkinter import filedialog
class MyWindow:
def __init__(self, master):
self.master = master
self.master.title('上传文件')
self.master.geometry('300x200')
button1 = ttk.Button(self.master, text='上传文件', command=self.open_file)
button1.place(x=100, y=100)
def open_file(self):
self.file_path = filedialog.askopenfilename()
print(self.file_path)
root = tk.Tk()
MyWindow(root)
root.mainloop()
```
在这个版本中,当你点击`上传文件`按钮时,会弹出一个文件选择窗口,选择文件后,`open_file()`函数会将文件路径打印在控制台上。
阅读全文