如何设置小部件尺寸以适合主窗口的所有宽度和高度?

问题描述 投票:0回答:1

我正在尝试在 Tkinter 中制作一个小应用程序,我想在主窗口内的连接后插入一个笔记本。

但我不知道如何设置笔记本的尺寸以适合窗口的全宽度和高度。 这是我的代码

import tkinter as tk
import ttkbootstrap as ttk
from ttkbootstrap.constants import *


class MainApp(tk.Tk):
    def __init__(self):
        tk.Tk.__init__(self)
        #on définit le titre de la page
        self.title("Youtube Manager")
        self.state("zoomed")
        # self.grid_columnconfigure(0,weight=1)

        self.login = ttk.Label(bootstyle="primary",text="Login :")
        self.login_input = ttk.Entry(bootstyle="primary",width=30)

        self.pwd = ttk.Label(bootstyle="primary",text="Mot de passe :")
        self.pwd_input = ttk.Entry(bootstyle="primary",width=30)

        self.btn_connect = ttk.Button(bootstyle="success",text="Connexion")

        self.separator = ttk.Separator(bootstyle="primary",orient="horizontal")

        #on place les widget
        self.login.grid(row=0,column=0,padx=2,pady=1)
        self.login_input.grid(row=0,column=1,padx=2)

        self.pwd.grid(row=0,column=2,padx=2,pady=1)
        self.pwd_input.grid(row=0,column=3,padx=2,pady=10)

        self.btn_connect.grid(row=0,column=4,columnspan=2,padx=2)

        self.notebook = ttk.Notebook(self,bootstyle="primary")
        self.notebook.grid(row=1,column=1,sticky='NSWE',rowspan=5,columnspan=50)

结果

预计

python-3.x tkinter
1个回答
0
投票

我建议将这些标签、条目和按钮小部件放在框架中。 然后在框架、分隔符和笔记本上使用

pack()

import tkinter as tk
import ttkbootstrap as ttk
from ttkbootstrap.constants import *

class MainApp(tk.Tk):
    def __init__(self):
        super().__init__()
        self.title("Youtube Manager")
        #self.state("zoomed")
        self.geometry("1000x600")

        # frame for those label, entry and button widgets
        top_frame = tk.Frame(self)
        top_frame.pack(fill='x')

        self.login = ttk.Label(top_frame, bootstyle="primary", text="Login :")
        self.login_input = ttk.Entry(top_frame, bootstyle="primary", width=30)
        self.pwd = ttk.Label(top_frame, bootstyle="primary", text="Mot de passe :")
        self.pwd_input = ttk.Entry(top_frame, bootstyle="primary", width=30)
        self.btn_connect = ttk.Button(top_frame, bootstyle="success", text="Connexion")

        self.login.grid(row=0, column=0, padx=2, pady=1)
        self.login_input.grid(row=0, column=1, padx=2)
        self.pwd.grid(row=0, column=2, padx=2, pady=1)
        self.pwd_input.grid(row=0, column=3, padx=2, pady=10)
        self.btn_connect.grid(row=0, column=4, columnspan=2, padx=2)

        self.separator = ttk.Separator(self, bootstyle="primary", orient="horizontal")
        self.separator.pack(fill="x")

        self.notebook = ttk.Notebook(self, bootstyle="primary")
        self.notebook.pack(fill="both", expand=1, padx=2, pady=2)

MainApp().mainloop()

结果:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.