Help with Tkinter Label Widget

K

Kevin McKinley

Below i've put the code for a program that i wrote. I need help on lines 384-403. If you run this program you will notice on the first tab when have it produce an answer the $ is surrounded with {$}. How can i get rid of that?



from Tkinter import *

class MyApp:
def __init__(self, parent):
self.myparent = parent

self.frame1 = Frame(parent)
self.frame1.grid(row=0, column=0)

self.frame2 = Frame(parent)
self.frame2.grid(row=0, column=0)

self.frame3 = Frame(parent)
self.frame3.grid(row=0, column=0)

self.frame4 = Frame(parent)
self.frame4.grid(row=0, column=0)

self.a = self.b = self.c = self.d = 0

self.COG1 = DoubleVar(); self.COG2 = DoubleVar(); self.COG3 = DoubleVar(); self.COG4 = DoubleVar()
self.GP1 = DoubleVar(); self.PrInc = DoubleVar(); self.markupPrice = DoubleVar()

self.tab1Func(1)

def tab1Func(self, event):
self.tab1 = Button(self.frame1, width=14, relief=FLAT, bg="white", text="Multi-Markup")
self.tab1.bind("<Button-1>", self.switch1)
self.tab1.grid(row=0, column=0)

self.tab2 = Button(self.frame1, width=14, relief=SUNKEN, bg="dark grey", text="Single Markup")
self.tab2.bind("<Button-1>", self.switch2)
self.tab2.grid(row=0, column=1)

self.tab3 = Button(self.frame1, width=14, relief=SUNKEN, bg="dark grey", text="Product Increase")
self.tab3.bind("<Button-1>", self.switch3)
self.tab3.grid(row=0, column=2)

self.tab4 = Button(self.frame1, width=14, relief=SUNKEN, bg="dark grey", text="Calculate GP")
self.tab4.bind("<Button-1>", self.switch4)
self.tab4.grid(row=0, column=3)

self.tab1Title = Label(self.frame1, font="bold", relief=GROOVE, text="Multi-Markup Calculator")
self.tab1Title.grid(pady=1, row=1, column=0, columnspan=4, sticky=W+E)

self.tab1Entry1 = Entry(self.frame1, textvariable=self.COG1)
self.tab1Entry1.select_range(0, END)
self.tab1Entry1.bind("<Return>", self.multiMarkup)
self.tab1Entry1.focus_force()
self.tab1Entry1.grid(padx=2, pady=2, row=2, column=2, columnspan=2, sticky=W)

self.tab1Entry1Title= Label(self.frame1, text="Enter COG:")
self.tab1Entry1Title.grid(padx=2, pady=2, row=2, column=1, sticky=E)

self.tab1CalcButton = Button(self.frame1, text="Calculate")
self.tab1CalcButton.bind("<Button-1>", self.multiMarkup)
self.tab1CalcButton.bind("<Return>", self.multiMarkup)
self.tab1CalcButton.grid(padx=2, pady=2, row=3, column=1, columnspan=2, sticky=W+E)

self.tab1Header = Label(self.frame1, font="bold", relief=GROOVE, text="Gross Profit % Markup Price")
self.tab1Header.grid(padx=2, pady=2, row=4, column=0, columnspan=4, sticky=W+E)

self.tab1GP1 = Label(self.frame1, width=4,relief=RIDGE, bg="white", text="5%")
self.tab1GP1.grid(padx=2, pady=2, row=5, column=1)

self.tab1GP2 = Label(self.frame1, width=4, relief=RIDGE, bg="light grey", text="10%")
self.tab1GP2.grid(padx=2, pady=2, row=6, column=1)

self.tab1GP3 = Label(self.frame1, width=4, relief=RIDGE, bg="white", text="15%")
self.tab1GP3.grid(padx=2, pady=2, row=7, column=1)

self.tab1GP4 = Label(self.frame1, width=4, relief=RIDGE, bg="light grey", text="18%")
self.tab1GP4.grid(padx=2, pady=2, row=8, column=1)

self.tab1GP5 = Label(self.frame1, width=4, relief=RIDGE, bg="white", text="20%")
self.tab1GP5.grid(padx=2, pady=2, row=9, column=1)

self.tab1GP6 = Label(self.frame1, width=4, relief=RIDGE, bg="light grey", text="21%")
self.tab1GP6.grid(padx=2, pady=2, row=10, column=1)

self.tab1GP7 = Label(self.frame1, width=4, relief=RIDGE, bg="white", text="22%")
self.tab1GP7.grid(padx=2, pady=2, row=11, column=1)

self.tab1GP8 = Label(self.frame1, width=4, relief=RIDGE, bg="light grey", text="23%")
self.tab1GP8.grid(padx=2, pady=2, row=12, column=1)

self.tab1GP9 = Label(self.frame1, width=4, relief=RIDGE, bg="white", text="24%")
self.tab1GP9.grid(padx=2, pady=2, row=13, column=1)

self.tab1GP10 = Label(self.frame1, width=4, relief=RIDGE, bg="light grey", text="25%")
self.tab1GP10.grid(padx=2, pady=2, row=14, column=1)

self.tab1GP11 = Label(self.frame1, width=4, relief=RIDGE, bg="white", text="26%")
self.tab1GP11.grid(padx=2, pady=2, row=15, column=1)

self.tab1GP12 = Label(self.frame1, width=4, relief=RIDGE, bg="light grey", text="27%")
self.tab1GP12.grid(padx=2, pady=2, row=16, column=1)

self.tab1GP13 = Label(self.frame1, width=4, relief=RIDGE, bg="white", text="28%")
self.tab1GP13.grid(padx=2, pady=2, row=17, column=1)

self.tab1GP14 = Label(self.frame1, width=4, relief=RIDGE, bg="light grey", text="29%")
self.tab1GP14.grid(padx=2, pady=2, row=18, column=1)

self.tab1GP15 = Label(self.frame1, width=4, relief=RIDGE, bg="white", text="30%")
self.tab1GP15.grid(padx=2, pady=2, row=19, column=1)

self.tab1GP16 = Label(self.frame1, width=4, relief=RIDGE, bg="light grey", text="31%")
self.tab1GP16.grid(padx=2, pady=2, row=20, column=1)

self.tab1GP17 = Label(self.frame1, width=4, relief=RIDGE, bg="white", text="33%")
self.tab1GP17.grid(padx=2, pady=2, row=21, column=1)

self.tab1GP18 = Label(self.frame1, width=4, relief=RIDGE, bg="light grey", text="35%")
self.tab1GP18.grid(padx=2, pady=2, row=22, column=1)

self.tab1GP19 = Label(self.frame1, width=4, relief=RIDGE, bg="white", text="40%")
self.tab1GP19.grid(padx=2, pady=2, row=23, column=1)

self.tab1GP20 = Label(self.frame1, width=4, relief=RIDGE, bg="light grey", text="45%")
self.tab1GP20.grid(padx=2, pady=2, row=24, column=1)

self.tab1Markup1 = Label(self.frame1, width=12, relief=RIDGE, bg="white")
self.tab1Markup1.grid(padx=2, pady=2, row=5, column=2, sticky=E)

self.tab1Markup2 = Label(self.frame1, width=12, relief=RIDGE, bg="light grey")
self.tab1Markup2.grid(padx=2, pady=2, row=6, column=2, sticky=E)

self.tab1Markup3 = Label(self.frame1, width=12, relief=RIDGE, bg="white")
self.tab1Markup3.grid(padx=2, pady=2, row=7, column=2, sticky=E)

self.tab1Markup4 = Label(self.frame1, width=12, relief=RIDGE, bg="light grey")
self.tab1Markup4.grid(padx=2, pady=2, row=8, column=2, sticky=E)

self.tab1Markup5 = Label(self.frame1, width=12, relief=RIDGE, bg="white")
self.tab1Markup5.grid(padx=2, pady=2, row=9, column=2, sticky=E)

self.tab1Markup6 = Label(self.frame1, width=12, relief=RIDGE, bg="light grey")
self.tab1Markup6.grid(padx=2, pady=2, row=10, column=2, sticky=E)

self.tab1Markup7 = Label(self.frame1, width=12, relief=RIDGE, bg="white")
self.tab1Markup7.grid(padx=2, pady=2, row=11, column=2, sticky=E)

self.tab1Markup8 = Label(self.frame1, width=12, relief=RIDGE, bg="light grey")
self.tab1Markup8.grid(padx=2, pady=2, row=12, column=2, sticky=E)

self.tab1Markup9 = Label(self.frame1, width=12, relief=RIDGE, bg="white")
self.tab1Markup9.grid(padx=2, pady=2, row=13, column=2, sticky=E)

self.tab1Markup10 = Label(self.frame1, width=12, relief=RIDGE, bg="light grey")
self.tab1Markup10.grid(padx=2, pady=2, row=14, column=2, sticky=E)

self.tab1Markup11 = Label(self.frame1, width=12, relief=RIDGE, bg="white")
self.tab1Markup11.grid(padx=2, pady=2, row=15, column=2, sticky=E)

self.tab1Markup12 = Label(self.frame1, width=12, relief=RIDGE, bg="light grey")
self.tab1Markup12.grid(padx=2, pady=2, row=16, column=2, sticky=E)

self.tab1Markup13 = Label(self.frame1, width=12, relief=RIDGE, bg="white")
self.tab1Markup13.grid(padx=2, pady=2, row=17, column=2, sticky=E)

self.tab1Markup14 = Label(self.frame1, width=12, relief=RIDGE, bg="light grey")
self.tab1Markup14.grid(padx=2, pady=2, row=18, column=2, sticky=E)

self.tab1Markup15 = Label(self.frame1, width=12, relief=RIDGE, bg="white")
self.tab1Markup15.grid(padx=2, pady=2, row=19, column=2, sticky=E)

self.tab1Markup16 = Label(self.frame1, width=12, relief=RIDGE, bg="light grey")
self.tab1Markup16.grid(padx=2, pady=2, row=20, column=2, sticky=E)

self.tab1Markup17 = Label(self.frame1, width=12, relief=RIDGE, bg="white")
self.tab1Markup17.grid(padx=2, pady=2, row=21, column=2, sticky=E)

self.tab1Markup18 = Label(self.frame1, width=12, relief=RIDGE, bg="light grey")
self.tab1Markup18.grid(padx=2, pady=2, row=22, column=2, sticky=E)

self.tab1Markup19 = Label(self.frame1, width=12, relief=RIDGE, bg="white")
self.tab1Markup19.grid(padx=2, pady=2, row=23, column=2, sticky=E)

self.tab1Markup20 = Label(self.frame1, width=12, relief=RIDGE, bg="light grey")
self.tab1Markup20.grid(padx=2, pady=2, row=24, column=2, sticky=E)

def tab2Func(self, event):
self.tab1 = Button(self.frame2, width=14, relief=SUNKEN, bg="dark grey", text="Multi-Markup")
self.tab1.bind("<Button-1>", self.switch1)
self.tab1.grid(row=0, column=0)

self.tab2 = Button(self.frame2, width=14, relief=FLAT, bg="white", text="Single Markup")
self.tab2.bind("<Button-1>", self.switch2)
self.tab2.grid(row=0, column=1)

self.tab3 = Button(self.frame2, width=14, relief=SUNKEN, bg="dark grey", text="Product Increase")
self.tab3.bind("<Button-1>", self.switch3)
self.tab3.grid(row=0, column=2)

self.tab4 = Button(self.frame2, width=14, relief=SUNKEN, bg="dark grey", text="Calculate GP")
self.tab4.bind("<Button-1>", self.switch4)
self.tab4.grid(row=0, column=3)

self.tab2Title = Label(self.frame2, font="bold", relief=GROOVE, text="Single Markup Calculator")
self.tab2Title.grid(pady=1, row=1, column=0, columnspan=4, sticky=W+E)

self.tab2Entry1 = Entry(self.frame2, textvariable=self.COG2)
self.tab2Entry1.select_range(0, END)
self.tab2Entry1.bind("<Return>", self.singleMarkup)
self.tab2Entry1.focus_force()
self.tab2Entry1.grid(padx=2, pady=2, row=2, column=2, columnspan=2, sticky=W)

self.tab2Entry2 = Entry(self.frame2, textvariable=self.GP1)
self.tab2Entry2.select_range(0, END)
self.tab2Entry2.bind("<Return>", self.singleMarkup)
self.tab2Entry2.focus_force()
self.tab2Entry2.grid(padx=2, pady=2, row=3, column=2, columnspan=2, sticky=W)

self.tab2Entry1Title= Label(self.frame2, text="Enter COG:")
self.tab2Entry1Title.grid(padx=2, pady=2, row=2, column=1, sticky=E)

self.tab2Entry2Title= Label(self.frame2, text="Enter GP %:")
self.tab2Entry2Title.grid(padx=2, pady=2, row=3, column=1, sticky=E)

self.tab2CalcButton = Button(self.frame2, text="Calculate")
self.tab2CalcButton.bind("<Button-1>", self.singleMarkup)
self.tab2CalcButton.bind("<Return>", self.singleMarkup)
self.tab2CalcButton.grid(padx=2, pady=2, row=4, column=1, columnspan=2, sticky=W+E)

self.tab2Header = Label(self.frame2, font="bold", relief=GROOVE)
self.tab2Header["text"] = self.GP1.get(), "%","Markup"
self.tab2Header.grid(padx=2, pady=2, row=5, column=0, columnspan=4, sticky=W+E)

self.tab2Markup1 = Label(self.frame2, width=10, font="bold", relief=GROOVE, bg="white")
self.tab2Markup1.grid(padx=2, pady=2, row=6, column=1, columnspan=2)

def tab3Func(self, event):
self.tab1 = Button(self.frame3, width=14, relief=SUNKEN, bg="dark grey", text="Multi-Markup")
self.tab1.bind("<Button-1>", self.switch1)
self.tab1.grid(row=0, column=0)

self.tab2 = Button(self.frame3, width=14, relief=SUNKEN, bg="dark grey", text="Single Markup")
self.tab2.bind("<Button-1>", self.switch2)
self.tab2.grid(row=0, column=1)

self.tab3 = Button(self.frame3, width=14, relief=FLAT, bg="white", text="Product Increase")
self.tab3.bind("<Button-1>", self.switch3)
self.tab3.grid(row=0, column=2)

self.tab4 = Button(self.frame3, width=14, relief=SUNKEN, bg="dark grey", text="Calculate GP")
self.tab4.bind("<Button-1>", self.switch4)
self.tab4.grid(row=0, column=3)

self.tabTitle = Label(self.frame3, font="bold",relief=GROOVE, text="Product Increase Calculator")
self.tabTitle.grid(pady=1, row=1, column=0, columnspan=4, sticky=W+E)

self.tab3Entry1 = Entry(self.frame3, textvariable=self.COG3)
self.tab3Entry1.select_range(0, END)
self.tab3Entry1.bind("<Return>", self.priceIncrease)
self.tab3Entry1.focus_force()
self.tab3Entry1.grid(padx=2, pady=2, row=2, column=2, columnspan=2, sticky=W)

self.tab3Entry2 = Entry(self.frame3, textvariable=self.PrInc)
self.tab3Entry2.select_range(0, END)
self.tab3Entry2.bind("<Return>", self.priceIncrease)
self.tab3Entry2.focus_force()
self.tab3Entry2.grid(padx=2, pady=2, row=3, column=2, columnspan=2, sticky=W)

self.tab3Entry1Title= Label(self.frame3, text="Enter COG:")
self.tab3Entry1Title.grid(padx=2, pady=2, row=2, column=1, sticky=E)

self.tab3Entry2Title= Label(self.frame3, text="Enter Increase %:")
self.tab3Entry2Title.grid(padx=2, pady=2, row=3, column=1, sticky=E)

self.tab3CalcButton = Button(self.frame3, text="Calculate")
self.tab3CalcButton.bind("<Button-1>", self.priceIncrease)
self.tab3CalcButton.bind("<Return>", self.priceIncrease)
self.tab3CalcButton.grid(padx=2, pady=2, row=4, column=1, columnspan=2, sticky=W+E)

self.tab3Header = Label(self.frame3, font="bold", relief=GROOVE)
self.tab3Header["text"] = self.PrInc.get(), "%","Price","Increase"
self.tab3Header.grid(padx=2, pady=2, row=5, column=0, columnspan=4, sticky=W+E)

self.tab3Markup1 = Label(self.frame3, width=10, font="bold", relief=GROOVE, bg="white")
self.tab3Markup1.grid(padx=2, pady=2, row=6, column=1, columnspan=2)

def tab4Func(self, event):
self.tab1 = Button(self.frame4, width=14, relief=SUNKEN, bg="dark grey", text="Multi-Markup")
self.tab1.bind("<Button-1>", self.switch1)
self.tab1.grid(row=0, column=0)

self.tab2 = Button(self.frame4, width=14, relief=SUNKEN, bg="dark grey", text="Single Markup")
self.tab2.bind("<Button-1>", self.switch2)
self.tab2.grid(row=0, column=1)

self.tab3 = Button(self.frame4, width=14, relief=SUNKEN, bg="dark grey", text="Product Increase")
self.tab3.bind("<Button-1>", self.switch3)
self.tab3.grid(row=0, column=2)

self.tab4 = Button(self.frame4, width=14, relief=FLAT, bg="white", text="Calculate GP")
self.tab4.bind("<Button-1>", self.switch4)
self.tab4.grid(row=0, column=3)

self.tabTitle = Label(self.frame4, font="bold",relief=GROOVE, text="Calculate GP")
self.tabTitle.grid(pady=1, row=1, column=0, columnspan=4, sticky=W+E)

self.tab4Entry1 = Entry(self.frame4, textvariable=self.COG4)
self.tab4Entry1.select_range(0, END)
self.tab4Entry1.bind("<Return>", self.GpCalc)
self.tab4Entry1.focus_force()
self.tab4Entry1.grid(padx=2, pady=2, row=2, column=2, columnspan=2, sticky=W)

self.tab4Entry2 = Entry(self.frame4, textvariable=self.markupPrice)
self.tab4Entry2.select_range(0, END)
self.tab4Entry2.bind("<Return>", self.GpCalc)
self.tab4Entry2.focus_force()
self.tab4Entry2.grid(padx=2, pady=2, row=3, column=2, columnspan=2, sticky=W)

self.tab4Entry1Title= Label(self.frame4, text="Enter COG:")
self.tab4Entry1Title.grid(padx=2, pady=2, row=2, column=1, sticky=E)

self.tab4Entry2Title= Label(self.frame4, text="Enter Markup $:")
self.tab4Entry2Title.grid(padx=2, pady=2, row=3, column=1, sticky=E)

self.tab4CalcButton = Button(self.frame4, text="Calculate")
self.tab4CalcButton.bind("<Button-1>", self.GpCalc)
self.tab4CalcButton.bind("<Return>", self.GpCalc)
self.tab4CalcButton.grid(padx=2, pady=2, row=4, column=1, columnspan=2, sticky=W+E)

self.tab4Header = Label(self.frame4, font="bold", relief=GROOVE)
self.tab4Header["text"] = "Gross Profit"
self.tab4Header.grid(padx=2, pady=2, row=5, column=0, columnspan=4, sticky=W+E)

self.tab4Markup1 = Label(self.frame4, width=10, font="bold", relief=GROOVE, bg="white")
self.tab4Markup1.grid(padx=2, pady=2, row=6, column=1, columnspan=2)

def switch1(self, event):
self.frame1.grid(sticky=N+S+E+W)
self.frame2.grid_forget()
self.frame3.grid_forget()
self.frame4.grid_forget()
self.tab1Entry1.focus_force()
self.tab1Entry1.select_range(0, END)


def switch2(self, event):
if self.b == 0:
self.tab2Func(1)
self.b = 1
self.frame1.grid_forget()
self.frame2.grid(sticky=N+S+E+W)
self.frame3.grid_forget()
self.frame4.grid_forget()
self.tab2Entry1.focus_force()
self.tab2Entry1.select_range(0, END)

def switch3(self, event):
if self.c == 0:
self.tab3Func(1)
self.c = 1
self.frame1.grid_forget()
self.frame2.grid_forget()
self.frame3.grid(sticky=N+S+E+W)
self.frame4.grid_forget()
self.tab3Entry1.focus_force()
self.tab3Entry1.select_range(0, END)

def switch4(self, event):
if self.d == 0:
self.tab4Func(1)
self.d = 1
self.frame1.grid_forget()
self.frame2.grid_forget()
self.frame3.grid_forget()
self.frame4.grid(sticky=N+S+E+W)
self.tab4Entry1.focus_force()
self.tab4Entry1.select_range(0, END)

def multiMarkup(self, event):
try:
value = self.COG1.get()
except ValueError:
self.COG1 = DoubleVar()
self.tab1Entry1["textvariable"] = self.COG1

self.tab1Entry1.select_range(0, END)

self.tab1Markup1["text"] = "$", round(self.COG1.get()/.95, 2)
self.tab1Markup2["text"] = "$", round(self.COG1.get()/.90, 2)
self.tab1Markup3["text"] = "$", round(self.COG1.get()/.85, 2)
self.tab1Markup4["text"] = "$", round(self.COG1.get()/.82, 2)
self.tab1Markup5["text"] = "$", round(self.COG1.get()/.80, 2)
self.tab1Markup6["text"] = "$", round(self.COG1.get()/.79, 2)
self.tab1Markup7["text"] = "$", round(self.COG1.get()/.78, 2)
self.tab1Markup8["text"] = "$", round(self.COG1.get()/.77, 2)
self.tab1Markup9["text"] = "$", round(self.COG1.get()/.76, 2)
self.tab1Markup10["text"] = "$", round(self.COG1.get()/.75, 2)
self.tab1Markup11["text"] = "$", round(self.COG1.get()/.74, 2)
self.tab1Markup12["text"] = "$", round(self.COG1.get()/.73, 2)
self.tab1Markup13["text"] = "$", round(self.COG1.get()/.72, 2)
self.tab1Markup14["text"] = "$", round(self.COG1.get()/.71, 2)
self.tab1Markup15["text"] = "$", round(self.COG1.get()/.70, 2)
self.tab1Markup16["text"] = "$", round(self.COG1.get()/.69, 2)
self.tab1Markup17["text"] = "$", round(self.COG1.get()/.67, 2)
self.tab1Markup18["text"] = "$", round(self.COG1.get()/.65, 2)
self.tab1Markup19["text"] = "$", round(self.COG1.get()/.60, 2)
self.tab1Markup20["text"] = "$", round(self.COG1.get()/.55, 2)

def singleMarkup(self, event):
try:
value = self.COG2.get()
except ValueError:
self.COG2 = DoubleVar()
self.tab2Entry1["textvariable"] = self.COG2

try:
value = self.GP1.get()
except ValueError:
self.GP1 = DoubleVar()
self.tab2Entry2["textvariable"] = self.GP1

self.tab2Entry1.focus_force()
self.tab2Entry1.select_range(0, END)

GP = 1 - (round((self.GP1.get()/100),2))

self.tab2Markup1["text"] = "$",round(self.COG2.get()/GP, 2)
self.tab2Header["text"] = self.GP1.get(), "%","Markup"

def priceIncrease(self, event):
try:
value = self.COG3.get()
except ValueError:
self.COG3 = DoubleVar()
self.tab3Entry1["textvariable"] = self.COG3

try:
value = self.PrInc.get()
except ValueError:
self.PrInc = DoubleVar()
self.tab3Entry2["textvariable"] = self.PrInc

self.tab3Entry1.focus_force()
self.tab3Entry1.select_range(0, END)

increase = 1+(self.PrInc.get()/100)

self.tab3Markup1["text"] = "$",round((self.COG3.get()*increase),2)
self.tab3Header["text"] = self.PrInc.get(), "%","Price","Increase"

def GpCalc(self, event):
try:
value = self.COG4.get()
except ValueError:
self.COG4 = DoubleVar()
self.tab4Entry1["textvariable"] = self.COG4

try:
value = self.markupPrice.get()
except ValueError:
self.markupPrice = DoubleVar()
self.tab4Entry2["textvariable"] = self.markupPrice

self.tab4Entry1.focus_force()
self.tab4Entry1.select_range(0, END)

COG4 = self.COG4.get()
markup = self.markupPrice.get()

if COG4==0.0 or markup==0.0:
self.tab4Markup1["text"] = ""
else:
GP = 100*(1-(self.COG4.get()/self.markupPrice.get()))
self.tab4Markup1["text"] = round(GP, 2),"%"


root = Tk()
myapp = MyApp(root)
root.mainloop()
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,009
Latest member
GidgetGamb

Latest Threads

Top