首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >tkinter 为什么控件无法放在Frame中?

tkinter 为什么控件无法放在Frame中?

提问于 2023-02-07 17:20:47
回答 0关注 0查看 48

我在窗口中添加了Frame后,再在Frame中添加控件不能生效,会被放在root中,求大神解疑

这是具体代码

代码语言:js
复制
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()

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档