473,395 Members | 1,558 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,395 software developers and data experts.

Re: Help with Tkinter Label Widget

On Wed, Sep 3, 2008 at 8:57 PM, Kevin McKinley <ke*****@yahoo.comwrote:
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?
Come on.. "help on lines 384-403", that is not a good way to look for
help. You are supposed to post some minimal code that demonstrates the
problem.

Anyway, this demonstrates what you are getting (independent of python version):

import Tkinter

label = Tkinter.Label()
label['text'] = '$', 2.0
label.pack()
label.mainloop()

The problem is that you are relying on something that is not supposed
to be done. Note how you are passing a tuple to the "text" option,
while you are actually supposed to pass a single value. You should be
passing something like this instead:

label['text'] = '$%f' % 2.0
>
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()

--
http://mail.python.org/mailman/listinfo/python-list


--
-- Guilherme H. Polo Goncalves
Sep 4 '08 #1
0 1478

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: Sebastien Aubry | last post by:
Hello, I am trying to embed a Tkinter widget (TkZinc, http://www.tkzinc.org) inside a PyGtk HMI. A guru gave me this advice: "I think you can do some magic using the XID of the Tkinter...
3
by: Matt Hammond | last post by:
Here's a strange one in Tkinter that has me stumped: (I'm running python 2.4 on Suse Linux 9.3 64bit) I'm trying to make a set of Entry widgets with Label widgets to the left of each one, using...
0
by: Stewart Midwinter | last post by:
I have a Tkinter app running on cygwin. It includes a Test menu item that does nothing more than fetch a directory listing and display it in a Toplevel window (I'd use a tkMessageBox showinfo...
3
by: vedran_dekovic | last post by:
Hi, I need help about Tkinter listbox widget.I want,when somebody click on any item(file) in Listbox,then in new Label widget text must be selected item from server. my program (wrong...
4
by: BartlebyScrivener | last post by:
Using Python on Debian Etch. What is the best way to paste a block of text in at the command prompt. I'm trying something like: Quote = raw_input("Paste quote here: ") Which works great...
7
by: =?iso-8859-1?q?Xavier_B=E9rard?= | last post by:
Hello everyone, I am wondering if there is a way to use custom drawing in Tkinter. I've been using it for few months, and all I know about custom drawing is to draw directly on a Canvas with...
1
by: vijayca | last post by:
my python installation is:Active python 2.5.1 i am using Red Hat Linux i have the Tkinter module installed but any simple script produces an error.... script: from Tkinter import Label widget...
1
by: Kevin Walzer | last post by:
I'm trying to toggle the visibility of a Tkinter widget using pack_forget(), and I'm running into unexpected behavior. The widget "hides" correctly, but does not become visible again. My sample...
0
by: Helmut Jarausch | last post by:
Hi, I'd like to bind the '<Return>' event to a function which does some calculations (like a database lookup) and then invoke tk_focusNext. I get an exception as many others have reported...
0
by: nicstel | last post by:
Hello. My script run fine within python but not in my program(SDS/2 wich is a software like Autocad). The problem is I got an error when the time comes to read the line14 to 19. (Source code come...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.