当前位置: 首页 > 知识库问答 >
问题:

mac中未显示边框和背景色[python-Tkinter]

袁鸿畴
2023-03-14

我在窗口中尝试了相同的代码,它工作正常,但在mac GUI按钮不显示边框和背景颜色的效果。例如。btnc=按钮(root,padx=28,pady=15,bd=5,fg=“黑色”,字体=。(“arial”,30,“粗体”),文本=“C”,bg上面一行代码bg和bd中的格(行=1,列=3)不工作。

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个答案

曾昂然
2023-03-14

试试这个:

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()

 类似资料:
  • 我有一个动态创建的大型超文本标记语言表。该表具有标准结构,包括、和以及以下样式。 到目前为止,一切都按预期工作,但是当我将类“bgGrey”添加到一列中的TDs时(见下文),以便为该列中的单元格提供背景颜色(仅在一列中需要),然后该列的所有边框在IE11中消失,除了左侧边框,并且样式在Chrome(版本43)中不再起作用。 没有添加类,我在两个浏览器中都没有问题。 似乎不知何故,背景颜色与边框重叠

  • 问题内容: 我正在尝试打印页面。在该页面中,我为表格提供了背景色。当我在chrome中查看打印预览时,它不具有背景色属性… 所以我尝试了这个属性: 但仍然没有显示颜色。 问题答案: Chrome CSS属性可以正常工作。 但是,确保您拥有正确的CSS进行打印通常很棘手。可以做几件事来避免您遇到的困难。首先,将所有打印CSS与屏幕CSS分开。这是通过和完成的。 通常,仅设置一些额外的CSS是不够的,

  • 问题内容: 考虑以下HTML: 请注意,最后一个单元格的内联样式具有左右边框。您(或至少是我)希望看到它。在IE中,就是这种情况。但是在Firefox(6)中却不是。您可以通过以下方法解决此问题: 在CSS中移除相对位置 在CSS中更改为 在CSS中删除on 在CSS中删除on 这是我们代码的简化版本;我们也解决了它(选择选项2)。但是我想知道的是: 这是Firefox中的错误吗? 这是IE中的错

  • 因此,我正在编写一个程序,在这个程序中,我最终希望一个按钮在按下时改变颜色。到目前为止,我的困境是: -尽管切换了setOpaque()和setContentAreaFilled()的真/假,但我无法获取当前设置为显示背景色的JButton。在尝试添加ActionListener之前,我希望能够做到这一点。 -我想用类似于JToggleButton()的东西来改变颜色,但是我想用背景而不是图标来改

  • 问题内容: 我正在进行响应式设计,并且“bgMainpage”类具有背景图片,但并未在所有设备上的Safari上显示。我已经应用了背景尺寸封面,因为这正是客户想要的。我也添加了特定于浏览器的CSS,但我不确定该怎么做才能在Safari中显示。Chrome,FF,IE可以很好地显示图像。有任何想法吗 ? CSS: 问题答案: 我将图像格式从jpeg转换为gif,并且有效。所以最终的CSS是:

  • 一开始,我想说我在开发人员的世界里是全新的。 我试图生成一个excel表,其中包含带边框和设置背景颜色的多表,但只针对第一列和第一行。 这是一个正确的示例:正确的示例 我写了类似的东西,但结果文件彩色单元格没有边框:(。 请告诉我如何同时设置背景颜色和边框。