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] Text Upload LearningLittlebyLittle 0 121 Sep-04-2020, 07:55 PM
Last Post: LearningLittlebyLittle
  Tkinter: How to assign calculated value to a Label LoneStar 7 206 Sep-03-2020, 08:19 PM
Last Post: LoneStar
  Tkinter Python: How to make sure tkSimpleDialog takes in No value entered rcmanu95 3 255 Aug-05-2020, 05:32 AM
Last Post: Yoriz
  [tkinter] color change for hovering over button teacher 4 319 Jul-04-2020, 06:33 AM
Last Post: teacher
  [PyQt] Increase text size and change color based on temp pav1983 5 295 Jun-22-2020, 10:52 PM
Last Post: menator01
  [Kivy] Kivy text label won't shows up! AVD_01 1 495 Jun-21-2020, 04:01 PM
Last Post: AVD_01
  [Tkinter] Indentation for Tkinter-made Text Editor ShakeyPakey 4 409 Jun-08-2020, 03:13 PM
Last Post: menator01
  changing tkinter label from thread nanok66 3 412 Jun-07-2020, 01:37 AM
Last Post: nanok66
  TKINTER - Change font color for night or day Ayckinn 2 464 May-24-2020, 09:25 PM
Last Post: Ayckinn
  How to make button text bold in Tkinter? scratchmyhead 2 403 May-16-2020, 02:53 AM
Last Post: scratchmyhead

Forum Jump:


Users browsing this thread: 2 Guest(s)