0
votes

I have tried same code in windows it works fine, but in mac GUI buttons doesn't show effect of border and background color. eg. btnc = Button(root,padx=28,pady=15,bd=5,fg='black',font=. ('arial',30,'bold'),text='C',bg='green').grid(row=1,column=3) in above line of code bg and bd doesn't working.

from tkinter import *

root = Tk()
root.title('Calculator')
#-------------------------------Screen-------------------------------

Display = Entry(root,font=('arial',30,'bold'),fg='white',bg='green',justify='right',bd=10)
Display.grid(columnspan=4)

#--------------------------------Row1--------------------------------

btn7 = Button(root,padx=30,pady=15,bd=5,fg='black',font=. 
('arial',30,'bold'),text='7').grid(row=1,column=0)
btn8 = Button(root,padx=30,pady=15,bd=5,fg='black',font=. 
('arial',30,'bold'),text='8').grid(row=1,column=1)
btn9 = Button(root,padx=30,pady=15,bd=5,fg='black',font= 
('arial',30,'bold'),text='9').grid(row=1,column=2)
btnc = Button(root,padx=28,pady=15,bd=5,fg='black',font=. 
('arial',30,'bold'),text='C',bg='green').grid(row=1,column=3)

#--------------------------------Row2--------------------------------

btn4 = Button(root,padx=30,pady=15,bd=5,fg='black',font=. 
('arial',30,'bold'),text='4').grid(row=2,column=0)
btn5 = Button(root,padx=30,pady=15,bd=5,fg='black',font=. 
('arial',30,'bold'),text='5').grid(row=2,column=1)
btn6 = Button(root,padx=30,pady=15,bd=5,fg='black',font=. 
('arial',30,'bold'),text='6').grid(row=2,column=2)
btnplus = Button(root,padx=30,pady=15,bd=5,fg='black',font=. 
('arial',30,'bold'),text='+',bg='orange').grid(row=2,column=3)

#--------------------------------Row3--------------------------------

btn1 = Button(root,padx=30,pady=15,bd=5,fg='black',font=. 
('arial',30,'bold'),text='1').grid(row=3,column=0)
btn2 = Button(root,padx=30,pady=15,bd=5,fg='black',font=. 
('arial',30,'bold'),text='2').grid(row=3,column=1)
btn3 = Button(root,padx=30,pady=15,bd=5,fg='black',font= 
('arial',30,'bold'),text='3').grid(row=3,column=2)
btnminus = Button(root,padx=34,pady=15,bd=5,fg='black',font=('arial',30,'bold'),text='- 
',bg='orange').grid(row=3,column=3)

#--------------------------------Row4--------------------------------

btn0 = Button(root,padx=30,pady=15,bd=5,fg='black',font=. 
('arial',30,'bold'),text='0').grid(row=4,column=0)
btndot = Button(root,padx=34,pady=15,bd=5,fg='black',font=. 
('arial',30,'bold'),text='.',bg='orange').grid(row=4,column=1)
btndivision = Button(root,padx=34,pady=15,bd=5,fg='black',font=. 
('arial',30,'bold'),text='/',bg='orange').grid(row=4,column=2)
btnmultiply = Button(root,padx=33,pady=15,bd=5,fg='black',font=. 
('arial',30,'bold'),text='*',bg='orange').grid(row=4,column=3)

#--------------------------------Row5--------------------------------

btnequals = Button(root,padx=74,pady=15,bd=5,fg='black',font=. 
('arial',30,'bold'),text='=',bg='green').grid(row=5,column=0,columnspan=2)
btnopenbrackets = Button(root,padx=34,pady=15,bd=5,fg='black',font=. 
('arial',30,'bold'),text='(',bg='orange').grid(row=5,column=2)
btnclosebrackets = Button(root,padx=33,pady=15,bd=5,fg='black',font=. 
('arial',30,'bold'),text=')',bg='orange').grid(row=5,column=3)

root.mainloop()
1
You can't change the background or border of buttons on OSX due to platform constraints.Bryan Oakley

1 Answers

-1
votes

Try this:

from tkinter import *

root = Tk()
root.title('Calculator')
#-------------------------------Screen-------------------------------
root["bg"] = "blue"
Display = Entry(root,font=('arial',30,'bold'),fg='white',bg='green',justify='right',bd=10)
Display.grid(columnspan=4)

#--------------------------------Row1--------------------------------

btn7 = Button(root,padx=30,pady=15,bd=5,fg='black',font=('arial',30,'bold'),text='7').grid(row=1,column=0)
btn8 = Button(root,padx=30,pady=15,bd=5,fg='black',font=('arial',30,'bold'),text='8').grid(row=1,column=1)
btn9 = Button(root,padx=30,pady=15,bd=5,fg='black',font= 
('arial',30,'bold'),text='9').grid(row=1,column=2)
btnc = Button(root,padx=28,pady=15,bd=5,fg='black',font=
('arial',30,'bold'),text='C',bg='green').grid(row=1,column=3)

#--------------------------------Row2--------------------------------

btn4 = Button(root,padx=30,pady=15,bd=5,fg='black',font=
('arial',30,'bold'),text='4').grid(row=2,column=0)
btn5 = Button(root,padx=30,pady=15,bd=5,fg='black',font=
('arial',30,'bold'),text='5').grid(row=2,column=1)
btn6 = Button(root,padx=30,pady=15,bd=5,fg='black',font=
('arial',30,'bold'),text='6').grid(row=2,column=2)
btnplus = Button(root,padx=30,pady=15,bd=5,fg='black',font=
('arial',30,'bold'),text='+',bg='orange').grid(row=2,column=3)

#--------------------------------Row3--------------------------------

btn1 = Button(root,padx=30,pady=15,bd=5,fg='black',font=
('arial',30,'bold'),text='1').grid(row=3,column=0)
btn2 = Button(root,padx=30,pady=15,bd=5,fg='black',font=
('arial',30,'bold'),text='2').grid(row=3,column=1)
btn3 = Button(root,padx=30,pady=15,bd=5,fg='black',font= 
('arial',30,'bold'),text='3').grid(row=3,column=2)
btnminus = Button(root,padx=34,pady=15,bd=5,fg='black',font=('arial',30,'bold'),text='-',bg='orange').grid(row=3,column=3)

#--------------------------------Row4--------------------------------

btn0 = Button(root,padx=30,pady=15,bd=5,fg='black',font=
('arial',30,'bold'),text='0').grid(row=4,column=0)
btndot = Button(root,padx=34,pady=15,bd=5,fg='black',font=
('arial',30,'bold'),text='.',bg='orange').grid(row=4,column=1)
btndivision = Button(root,padx=34,pady=15,bd=5,fg='black',font=
('arial',30,'bold'),text='/',bg='orange').grid(row=4,column=2)
btnmultiply = Button(root,padx=33,pady=15,bd=5,fg='black',font=
('arial',30,'bold'),text='*',bg='orange').grid(row=4,column=3)

#--------------------------------Row5--------------------------------

btnequals = Button(root,padx=74,pady=15,bd=5,fg='black',font=
('arial',30,'bold'),text='=',bg='green').grid(row=5,column=0,columnspan=2)
btnopenbrackets = Button(root,padx=34,pady=15,bd=5,fg='black',font=
('arial',30,'bold'),text='(',bg='orange').grid(row=5,column=2)
btnclosebrackets = Button(root,padx=33,pady=15,bd=5,fg='black',font=
('arial',30,'bold'),text=')',bg='orange').grid(row=5,column=3)

root.mainloop()