我正在尝试在 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)
我建议将这些标签、条目和按钮小部件放在框架中。 然后在框架、分隔符和笔记本上使用
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()
结果: