79750892

Date: 2025-08-30 02:12:21
Score: 1
Natty:
Report link

Credits to @TheLizzard too for this.

The fix is to set cleanresize=False in self.run():

self.run(cleanresize=False)

But now, the frames are not expanding vertically.

That is because, after setting cleanresize to False, we handle everything manually. Including the columns and the rows.

The problem was, you were not using grid_rowconfigure, so just add this line:

self.root.grid_rowconfigure(0, weight=1)

So your final code:

import tkinter as tk
import TKinterModernThemes as TKMT


class App(TKMT.ThemedTKinterFrame):
    def __init__(self, theme, mode, usecommandlineargs=True, usethemeconfigfile=True):
        super().__init__("Switch", theme, mode, usecommandlineargs=usecommandlineargs, useconfigfile=usethemeconfigfile)
        self.switchframe1 = self.addLabelFrame("Switch Frame 1", sticky=tk.NSEW, row=0, col=0)
        self.switchvar = tk.BooleanVar()
        self.switchframe1.SlideSwitch("Switch1", self.switchvar)

        self.switchframe2 = self.addLabelFrame("Switch Frame 2", sticky=tk.NSEW, row=0, col=1)
        self.switchvar = tk.BooleanVar()
        self.switchframe2.SlideSwitch("Switch2", self.switchvar)

        self.root.grid_columnconfigure(0, weight=0)
        self.root.grid_columnconfigure(1, weight=1)
        self.root.grid_rowconfigure(0, weight=1)

        self.run(cleanresize=False)




if __name__ == "__main__":
    App("park", "dark")

And here you go:
enter image description here

enter image description here

Reasons:
  • Probably link only (1):
  • Long answer (-1):
  • Has code block (-0.5):
  • User mentioned (1): @TheLizzard
  • Low reputation (0.5):
Posted by: Aadvik