Python Forum
pass a variable between tkinter and toplevel windows
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
pass a variable between tkinter and toplevel windows
#1
hello.
I have 2 windows:
a)window = tkinter.Tk(), a mapview and an Entry to write a filepath

b)top=Toplevel() and a label to view an image

I need to pass a dynamic variable (full filepath.i.e.: "d:/bilde/Rød.png" from window a to a PhotoImage function in window b. At present time, without success.

Plan is to make an event (sv), view an image on label,in window b (exactly below an tkintermap in window a).

It works ok as long as I hardcode the filepath in window b.

My doubt is, does the event (sv) trigger the PhotoImage function after I manually write in filepath into an tkinter Entry in window a?

(I might write/read a file to pass variable between windows, but that would be a none alternative and slow process).

Below is some copies of code in each window.

var1 in window a, shows correct path (entered from keyboard)
No image is shown from window b. No errors detected.

SOME CODE IN WINDOW A:
import tkinter
from Scripts import dati
from Scripts import rutiner
from tkinter.ttk import *
import tkintermapview
import customtkinter
from tkinter import Canvas
from tkinter import *
from datetime import datetime
from pynput.mouse import Button, Controller
import tkinter as tk
from PIL import ImageTk, Image
import cv2



#---------------------GLOBAL VARIABLES-------------------------
mouse = Controller()
zoom=1
db = "D:/Python311/Scripts/markers.db"
today = datetime.today( ).strftime("%d-%m-%Y-%H-%M-%S")
verdi=0
stinavn1=""
stinavn2=""
stinavn3=""
stinavn4=""
textentered1=""
var1=""

root_tk = tkinter.Tk()
window = root_tk
window.geometry("1920x1200+0+0")
window.minsize(1920, 1200)
window.resizable(False, False)
window.overrideredirect(True)
window.attributes('-topmost',True)
.
.
def callback(sv):
    textentered1= str(sv.get())
    var1 =textentered1
    if "htt" in var1:stitype="web"
    elif ".png" in var1:stitype= "fil"
    elif ".mp4" in var1:stitype = "vid"
    elif ".docx" in var1:stiltype = "word"

print(var1)
sv = StringVar()
sv.trace("w", lambda name, index, mode, sv=sv: callback(sv))
sti1 = customtkinter.CTkEntry(window, textvariable=sv, width=360, font=("Ariel",14,"bold"), placeholder_text="Sti til bilde 1 som skal behandles.(d:/bilde/abc.png)", justify=("left"))
sti1.place(x=12,y=1010)
.
.
TOPLEVEL WINDOW:
top = Toplevel()
top.geometry("1000x1000")   
top.resizable(False, False) 
top.overrideredirect(True)

histimg=PhotoImage(file="d:/bilde/Rød.png")                        (a png image with red circle)
label=Label(top,image=histimg)
label.place(x=0,y=0)

window.mainloop()

Attached Files

Thumbnail(s)
   
Reply


Messages In This Thread
pass a variable between tkinter and toplevel windows - by janeik - Oct-02-2023, 02:03 AM

Possibly Related Threads…
Thread Author Replies Views Last Post
  tkinter two windows instead of one jacksfrustration 7 956 Feb-08-2024, 06:18 PM
Last Post: deanhystad
  Tkinter multiple windows in the same window tomro91 1 914 Oct-30-2023, 02:59 PM
Last Post: Larz60+
  [Tkinter] Open tkinter colorchooser at toplevel (so I can select/focus on either window) tabreturn 4 1,985 Jul-06-2022, 01:03 PM
Last Post: deanhystad
  [Tkinter] Toplevel window menator01 5 3,141 Apr-18-2022, 06:01 PM
Last Post: menator01
  how to add two numbers and pass the result to the next page in tkinter? pymn 7 4,415 Feb-15-2022, 04:40 AM
Last Post: pymn
  [Tkinter] Not able to get image as background in a Toplevel window finndude 4 3,985 Jan-07-2022, 10:10 PM
Last Post: finndude
  [Tkinter] tkinter best way to pass parameters to a function Pedroski55 3 4,960 Nov-17-2021, 03:21 AM
Last Post: deanhystad
  [Tkinter] Update variable using tkinter entry methon drSlump 6 5,295 Oct-15-2021, 08:01 AM
Last Post: drSlump
  [Tkinter] tkinter.Menu – How to make text-variable? Sir 3 5,700 Mar-10-2021, 04:21 PM
Last Post: Sir
  [Tkinter] Images in Toplevel() finndude 4 4,372 Mar-09-2021, 09:39 AM
Last Post: finndude

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020