customtkinter - создать фрейм с классом, отличным от основного фрейма, но затем назначить его основному фрейму

я пытаюсь создать части моего customtkinter-приложения в других классах, чтобы затем назначить их классу приложения. Но я должен сделать что-то неправильно. Как видите, цель состоит в том, чтобы поместить текст метки из «self.label» в середину фрейма «self.frame_rot». Пожалуйста, проверьте мой код:


      import tkinter
import customtkinter as ctk


class Frame1(ctk.CTkFrame):
    def __init__(self, master):
        super().__init__(master)
        
        self.frame_rot = ctk.CTkFrame(master, height = 100, width = 100, fg_color = 'red').grid(row = 0, column = 0)
        self.label = ctk.CTkLabel(self.frame_rot, text = 'hallo').place(relx = 0.5, rely = 0.5, anchor = 'center')
        
        
class App(ctk.CTk):
    def __init__(self):
        super().__init__()
        
        self.geometry('500x500')
        self.title('TestApp')
        
        self.frame = Frame1(self)

if __name__ == "__main__":
    app = App()
    app.mainloop()

Я просто не знаю, что делать дальше!!

1 ответ

попробуй это:

      import tkinter
import customtkinter as ctk

        
class App(ctk.CTk):
    def __init__(self):
        super().__init__()
        
        self.geometry('500x500')
        self.title('TestApp')
        
        self.frame = Frame1(self)

class Frame1(ctk.CTkFrame):
    def __init__(self, master):
        super().__init__(master)

        #if you remove this, the "red block" will stick to the upper left corner
        master.grid_columnconfigure(0, weight=1)
        master.grid_rowconfigure(0, weight=1)
        
        self.frame_rot = ctk.CTkFrame(master=master, fg_color='red')
        self.frame_rot.grid(row=0, column=0)

        #sticky "ns" will centralize the label vertically
        self.label = ctk.CTkLabel(master=self.frame_rot, text='hallo', height=130)
        self.label.grid(row=0, column=0, sticky="ns")
        

if __name__ == "__main__":
    app = App()
    app.mainloop()
Другие вопросы по тегам