Scrollbars are inactive in tkinter

I have already been searching all day, but there was no solution to my case. It was difficult to find a suitable solution because I used the grid variant.

For me, the scrollbars do not work when I reduce the GUI. Does anyone know what I have to do?

As you can see in the pictures, everything stays inactive even if I shrink the GUI.

enter image description here

import tkinter as tk
from tkinter import ttk

class Win1:

    def __init__(self, master):
        self.master = master
        self.master.title("Test GUI")

        self.canvas = tk.Canvas(self.master, width=150, height=150)
        self.canvas.grid(row=0, column=0)
        self.scroll_x = tk.Scrollbar(self.master, orient="horizontal", command=self.canvas.xview)
        self.scroll_x.grid(row=1, column=0, sticky="ew")
        self.scroll_y = tk.Scrollbar(self.master, orient="vertical", command=self.canvas.yview)
        self.scroll_y.grid(row=0, column=1, sticky="ns")

        self.topFrame = tk.Frame(self.canvas)
        self.topFrame.grid(row=0, column=0, sticky='news', ipady = 5)
        self.gapType = tk.StringVar(self.canvas)
        self.choiceGap =  ['A','B']
        self.gapType.set('') # set the default option
        self.ctngMenu = ttk.Combobox(self.topFrame, values= self.choiceGap, state = "readonly", justify = "center", textvariable = self.gapType)
        self.ctngMenu.bind("<<ComboboxSelected>>", self.chioseGap_handle)
        self.ctngMenu.grid(row = 1, column =2)
        self.tabControl = ttk.Notebook(self.canvas)
        self.tab1 = ttk.Frame(self.tabControl)
        self.tab2 = ttk.Frame(self.tabControl)

        self.tabControl.add(self.tab1, text ='Diagramm') 
        self.tabControl.add(self.tab2, text ='Target-Values') 
        self.tabControl.grid(row=3, column=0, sticky = "nswe",  ipady = 250, ipadx = 250) 
        self.A_GapFrame = tk.Frame(self.tab1)
        self.B_GapFrame = tk.Frame(self.tab2)


        self.canvas.configure(yscrollcommand=self.scroll_y.set, xscrollcommand=self.scroll_x.set)        

    def chioseGap_handle(self, selected):
        if self.ctngMenu.get() == 'AFrame':
            self.A_GapFrame.grid(row=2, column=0, sticky='news')
        if self.ctngMenu.get() == 'BFrame':
            self.B_GapFrame.grid(row=2, column=0, sticky='news')

    def subframe_AGap(self):
            self.jobNameA_text = tk.StringVar()
            self.jobNameA_entry = tk.Entry(self.A_GapFrame, textvariable = self.jobNameA_text)
            self.jobNameA_entry.grid(row=1, column=0, sticky='news')

    def subframe_BGap(self):
            self.jobNameB_text = tk.StringVar()
            self.jobNameB_entry = tk.Entry(self.B_GapFrame, textvariable = self.jobNameB_text)
            self.jobNameB_entry.grid(row=2, column=0, sticky='news') 



root = tk.Tk()
app = Win1(root)
How many English words
do you know?
Test your English vocabulary size, and measure
how many words do you know
Online Test
Powered by Examplum