Bottom Page

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
 Unable fetch fucntion data in class in tkinter
#1
I am trying to fetch the data from text variable and image data in a function name loopCap and display it in __init__ function where I have created a canvas but due to mentioned below error I am not able to move further

Update: I was able to update the text but Image is still the major issues

For Text Error:

*(args + self._options(cnf, kw))))
_tkinter.TclError: unknown option "-textvariable"
For Image Error:

self.put_photo = canvas.create_image(70, 250, image=self.photo, anchor='nw')
AttributeError: 'StartPage' object has no attribute 'photo'
Actual Code Sample:

import tkinter as tk
from tkinter import *
from tkinter.filedialog import asksaveasfile
from tkinter import messagebox
from PIL import ImageTk, Image

im = "BG.jpg"
class SampleApp(tk.Tk):
    def __init__(self):
        tk.Tk.__init__(self)
        self._frame = None
        self.ard_stat = read_json(JSON_PATH)
        self.switch_frame(StartPage)

    def switch_frame(self, frame_class):
        """Destroys current frame and replaces it with a new one."""
        new_frame = frame_class(self)
        if self._frame is not None:
            self._frame.destroy()
        self._frame = new_frame
        self._frame.pack()

class StartPage(tk.Frame):

    def loopCap(self):
        with open(JSON_PATH) as json_file1:
            self.data = json.load(json_file1)
            print(self.data)
        if self.data['status'] == 'ACTIVE':  # and (self.data['RH_img']!= 'null' or self.data['LH_img']!= 'null')
            a = self.text.set(self.data['status'])
         if self.data['RH_img'] == 'NA':
         self.img = Image.open(Press)
         self.img.load()
       self.photo = ImageTk.PhotoImage(self.img)
       self.label['image'] = self.photo
       self.master.after(500, self.loopCap)

 def __init__(self, master):
        super().__init__(master)
        self.master.config(bg='black')
        Frame2 = tk.Frame(self.master)
        Frame2.pack(fill='both',expand = True)
        self.photo_back = ImageTk.PhotoImage(im)
        lab_1 = tk.Label(Frame2, image=self.photo_back)
        lab_1.image = self.photo_back
        lab_1.place(x=0, y=0, relwidth=1, relheight=1)
        canvas = Canvas(Frame2, width=1000, height=700)
        canvas.place(x=0, y=0, relwidth=1, relheight=1)
        canvas.create_image(0, 0, image=self.photo_back, anchor='nw')
        self.text = tk.StringVar()
        canvas.create_text(230, 170, fill="white", font="Times 20 bold", 
        textvariable=self.text, anchor="w")
        self.label = tk.Label(canvas)
        self.put_photo = canvas.create_image(70, 250, image=self.photo, anchor='nw')
        canvas.itemconfig(self.put_photo, image=self.photo)
        self.master.after(500, self.loopCap)


if __name__ == "__main__":
    app = SampleApp()
    app.mainloop()
Quote
#2
text variables need to be of type StringVar()
fetch value with varname.get
Quote
#3
Hi, I was able to update the text data using canvas.itemconfig() but still facing the issue of calling image data from loopCap function in __init__ function as I have edited my main question and updated the image error which I am still facing there.
Please help me in resolving this issue. Will be very helpful
Quote

Top Page

Possibly Related Threads...
Thread Author Replies Views Last Post
  Fetch records from DB and display on GUI hnkrish 1 108 Dec-05-2019, 02:38 PM
Last Post: Denni
  Unable to put background image on Tkinter Frame jenkins43 2 152 Nov-27-2019, 11:38 AM
Last Post: jenkins43
  Tkinter Class pythonenthusiast2 1 107 Nov-24-2019, 03:51 AM
Last Post: Larz60+
  [Tkinter] Plotting Raster Data / TIFF files on tkinter canvas RRSCNGP 0 226 Aug-28-2019, 04:44 AM
Last Post: RRSCNGP
  Unable to update or refresh label text in tkinter jenkins43 3 575 Jul-24-2019, 02:09 PM
Last Post: Friend
  TKinter GUI / Pandas Data frame Loop NSearch 0 876 Jun-26-2019, 12:37 AM
Last Post: NSearch
  Tkinter Gui ScrolledText Insert From Different Class whisperquiet 1 1,066 Jan-08-2019, 09:25 PM
Last Post: Larz60+
  [Tkinter] Unable to Obtain values from one Tkinter Program into another nilaybnrj 1 576 Aug-24-2018, 01:24 PM
Last Post: Gribouillis
  Unable to return value from callback function of a button in Python Tkinter nilaybnrj 4 7,344 Aug-05-2018, 11:01 PM
Last Post: woooee
  Using a class to create instances of Tkinter Toplevel() windows nortski 2 3,667 Mar-27-2018, 11:44 AM
Last Post: nortski

Forum Jump:


Users browsing this thread: 1 Guest(s)