Bottom Page

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
 Make Label Text background (default color) transparent using tkinter in python
#1
In reference to the earlier question, I am able to put a background image in the frame but now the major issue is that Label text is displaying with default background which I need to make transparent.

As per other references question tk.Canvas is the best option but is there any other way to make the background of text transparent using tk.Label, I use root.wm_attributes option but is making the Text transparent but not the Background Right now My display looks like as mentioned in the attachment.

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

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'])
            b = self.text1.set(self.data['RH_cnt'])
            c = self.text2.set(self.data['LH_cnt'])
            d = self.text3.set(self.data['barcode'])
            return self.text, self.text1, self.text2, self.text3, self.data

    def next_save(self):
        new_string = self.data['barcode']
        new_folder = os.path.join(DATA_PATH,new_string)
        if os.path.exists(new_folder):
            #print("Folder Already Exists If Condition")
            tk.messagebox.showinfo("Info", "Folder Already Exists")
        else:
            #os.isfile(new_string)
            #print("Folder Already Exists")
            #tkMessageBox.showinfo("Info", "Folder Already Exists")
            #print("Make Directory Else Condition")
            json_dict = read_json(JSON_PATH)
            json_dict.update({"frontend_status": "True"})
            dump_to_json(json_dict, JSON_PATH)
            os.mkdir(new_folder)
            for i in range(0,len(data)):
                folder_name = os.path.join(DATA_PATH, new_string, data[i])
                os.mkdir(folder_name)
                files = [('All Files', '*.*'),
                         ('Python Files', '*.py'),
                         ('Text Document', '*.txt')]
                file = asksaveasfile(initialdir=folder_name, filetypes=files, defaultextension=files)
            json_dict = read_json(JSON_PATH)
            json_dict.update({"frontend_status": "False"})
            dump_to_json(json_dict, JSON_PATH)

            self.master.after(500, self.loopCap)

    def __init__(self, master):
        super().__init__(master)
        self.master.geometry("1000x700+%d+%d" % (((self.master.winfo_screenwidth() / 2.) - (1280 / 2.)), ((self.master.winfo_screenheight() / 2.) - (720 / 2.))))
        #self.master.state('zoomed')
        self.master.config(bg='powder blue')
        #myvar = self.master
        Frame1 = tk.Frame(self.master)
        Frame1.pack(side="bottom", fill="x", pady=10, anchor='w')
        Frame2 = tk.Frame(self.master)
        Frame2.pack(side="left", fill="both", pady=10, anchor='w', expand=True )
        photo = tk.PhotoImage(file="images/BG.jpg")
        label = tk.Label(Frame2, image=photo)
        label.image = photo
        label.place(x=0, y=0)
        tk.Label(Frame2, text='  Decal Check  ', font=('arial', 25, 'bold'), bg='powder blue',
                 fg='black', anchor='w').grid(column=0,pady=2)

        b = tk.Button(Frame2, text="Add New Files", command= self.next_save)
        b.grid(row=11, column=1, pady=5, sticky='w')

        self.master.after(500, self.loopCap)

if __name__ == "__main__":
    app = SampleApp()
    app.mainloop()
Suggestion will be very helpful


Attached Files Thumbnail(s)
   
Quote
#2
wxpython has a SetTransparent command. tkinter does not, but I found this which may be helpful: http://www.kosbie.net/cmu/fall-11/15-112...le-demo.py
Quote

Top Page

Possibly Related Threads...
Thread Author Replies Views Last Post
  [Tkinter] Label, align imported text from pandas kundrius 1 39 7 hours ago
Last Post: joe_momma
  Unable to put background image on Tkinter Frame jenkins43 2 125 Nov-27-2019, 11:38 AM
Last Post: jenkins43
  Active tkinter text output during loop dvanommen 2 331 Oct-18-2019, 02:23 PM
Last Post: dvanommen
  [Tkinter] changing background color of a button ieee488 2 312 Sep-06-2019, 01:24 PM
Last Post: ieee488
  Update a label text from subprocess jim53 3 459 Aug-19-2019, 08:21 PM
Last Post: Denni
  change background color of button ieee488 3 1,085 Jul-30-2019, 09:49 PM
Last Post: ieee488
  Spacing Between two labels are very far and Top label is not in Center using Tkinter barry76 2 299 Jul-30-2019, 10:49 AM
Last Post: wuf
  Unable to update or refresh label text in tkinter jenkins43 3 541 Jul-24-2019, 02:09 PM
Last Post: Friend
  [Tkinter] Line Number Tkinter Text Are smabubakkar 1 448 Jun-22-2019, 07:05 PM
Last Post: woooee
  [Tkinter] How to run animations in background with tkinter? Pythenx 1 453 May-20-2019, 07:10 PM
Last Post: Yoriz

Forum Jump:


Users browsing this thread: 1 Guest(s)