我在窗口中添加了Frame后,再在Frame中添加控件不能生效,会被放在root中,求大神解疑
这是具体代码
import tkinter as tk
from tkinter import filedialog
from PIL import Image, ImageTk
class MY_GUI():
'''
人脸识别系统UI界面
'''
def __init__(self, app_window):
self.app_window = app_window
self.file_path = tk.StringVar(value='./image/test_sample.png')
def set_attr(self):
# 窗口基本属性
self.app_window.title('MY_GUI_APP_v1.1')
self.app_window.geometry('960x480+200+200')
# Frame
self.frame1 = tk.Frame(self.app_window, bg='white', width=440, height=440).pack(side='left', padx=10, pady=10)
self.frame2 = tk.Frame(self.app_window, bg='lightyellow', width=440, height=440).pack(side='left', padx=10, pady=10)
# 控件
self.canvas = tk.Canvas(self.frame1, height=440, width=440, bg='white').pack(side='left')
self.upload_file = tk.Label(self.frame2, textvariable=self.file_path, bg='white', width=30, relief='groove').pack(side='left')
self.upload_btn = tk.Button(self.frame2, text='选择文件', bg='lightblue', width=16, command=self.upload_on_click).pack(side='left')
def upload_on_click(self):
# 获取文件夹路径
f_path = filedialog.askopenfilename()
print('\n获取的文件地址: ', f_path)
self.file_path.set(f_path)
def gui_start():
init_window = tk.Tk()
FACE_REC = MY_GUI(init_window)
FACE_REC.set_attr()
init_window.mainloop()
gui_start()
相似问题