0

Here is the tkinter code for reference, I've tried a few things but they don't work exactly, any ideas how to see bigger images on labels when window is maximized:

I'm supposed to see two pictures on 2 labels, side by side and automatically increasing in size as window is maximized. At the moment, it stays constant size.

import matplotlib

matplotlib.use("TkAgg")

from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2Tk

from matplotlib.figure import Figure

from PIL import ImageTk, Image

import tkinter as tk
from tkinter import ttk

class Z(tk.Tk):

    def __init__(self, *args, **kwargs):
        
        tk.Tk.__init__(self, *args, **kwargs)

        tk.Tk.iconbitmap(self, default="anecto.ico")
        tk.Tk.wm_title(self, "WisualiseWind")
        
        
        container = tk.Frame(self)
        container.pack(side="top", fill="both", expand = True)
        container.grid_rowconfigure(0, weight=1)
        container.grid_columnconfigure(0, weight=1)

        self.frames = {}

        for F in (StartPage, PageOne, PageTwo, PageThree):

            frame = F(container, self)

            self.frames[F] = frame

            frame.grid(row=0, column=0, sticky="nsew")

        self.show_frame(StartPage)

    def show_frame(self, cont):

        frame = self.frames[cont]
        frame.tkraise()

        
class StartPage(tk.Frame):

    def __init__(self, parent, controller):
        tk.Frame.__init__(self,parent)
        load = Image.open('abc.png')
        render = ImageTk.PhotoImage(load)
        label = tk.Label(self, image = render)
        #label = tk.Label(self, text="Start Page", font=LARGE_FONT)
        label.image = render
        label.grid(row = 0, column = 2, pady=10,padx=10)

        load1 = Image.open('xyz.jpg')
        render1 = ImageTk.PhotoImage(load1)
        label1 = tk.Label(self, image = render1)
        #label = tk.Label(self, text="Start Page", font=LARGE_FONT)
        label1.image = render1
        label1.grid(row = 0, column = 4, pady=10,padx=10)
        
        button = ttk.Button(self, text="Start",
                            command=lambda: controller.show_frame(PageOne))
        button.grid(row = 6, column = 3)
  • 1
    Does this answer your question? [Tkinter resize background image to window size](https://stackoverflow.com/questions/24061099/tkinter-resize-background-image-to-window-size) – Henry Yik Oct 20 '21 at 14:14
  • what things have you tried and provide a [mre], also see comment above – Matiiss Oct 20 '21 at 18:00
  • Thanks @HenryYik and Matiiss, I tried that but ultimately my problem is not as evident if I use pack() instead of grid() I saw, it's nicely placing elements. – Mayank Dhami Oct 28 '21 at 09:07

0 Answers0