Обновление:
Из вашего обновленного вопроса я вижу, что вам нужно указать вес в столбце 1 на странице 2.
self.page2.columnconfigure(0, weight=1)
Заменить:
class UICreation():
def __init__(self):
print ("I m in __init__")
self.nb=ttk.Notebook(frame_main)
self.page1=ttk.Frame(self.nb)
self.page2=ttk.Frame(self.nb)
С этим:
class UICreation():
def __init__(self):
print ("I m in __init__")
self.nb=ttk.Notebook(frame_main)
self.page1=ttk.Frame(self.nb)
self.page2=ttk.Frame(self.nb)
self.page2.columnconfigure(0, weight=1)
Я обновил ваш код, чтобы отразить более чистый пример, который лучше следует PEP8.
Сообщите мне, если у вас есть какие-либо вопросы:
import tkinter as tk
import tkinter.ttk as ttk
class UICreation():
def __init__(self, master):
self.nb=ttk.Notebook(master)
self.page1=ttk.Frame(self.nb)
self.page2=ttk.Frame(self.nb)
self.page2.columnconfigure(0, weight=1)
self.check_box_election=[]
self.name_of_variable=[]
self.key_name=[]
self.selected_checkbox=[]
self.dict={}
self.frame_main = tk.Frame(root)
self.frame_main.grid(sticky='news')
self.canvas=tk.Canvas()
self.list_key = ["1", "2"]
def tabcreation(self):
self.nb.add(self.page1,text="Select")
canvas = tk.Canvas(self.page1)
canvas.grid(row=0, column=0, sticky="news")
vsb = tk.Scrollbar(self.page1, orient="vertical", command=canvas.yview)
vsb.grid(row=0, column=1, sticky='ns')
canvas.configure(yscrollcommand=vsb.set)
canvas.config(scrollregion=canvas.bbox("all"))
f = tk.Frame(canvas)
canvas.create_window((0, 0), window=f, anchor="n")
self.nb.grid(sticky="nw")
list_number = len(self.list_key)
for value in range(0,list_number, 1):
name_of_variable= "checkBox" + str(value)
self.check_box_election.append("var"+str(value))
self.check_box_election[value] = tk.IntVar()
name_of_variable = tk.Checkbutton(f, text=str(self.list_key[value]),variable=self.check_box_election[value])
name_of_variable.grid(sticky="nw")
name_of_variable.cget("text")
self.key_name.append(name_of_variable.cget("text"))
canvas.update()
canvas.config(scrollregion=canvas.bbox("all"))
def add_new(self):
self.nb.add(self.page2,text="Add")
page2frame = tk.Frame(self.page2)
page2frame.grid(row=0, column=0, sticky='ew', padx=5, pady=5, columnspan=3)
page2frame.grid_columnconfigure(1, weight=1)
lblentry = tk.Label(page2frame, text="Entry Box:")
lblentry.grid(row=0, column=0, sticky='w')
entrybx = tk.Entry(page2frame)
entrybx.grid(row=0, column=0, sticky="ew", columnspan=10)
if __name__ == '__main__':
root = tk.Tk()
ui = UICreation(root)
ui.tabcreation()
ui.add_new()
root.mainloop()