Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Tkinter按钮样式(浮雕)未正确显示_Python_Python 3.x_Button_Tkinter - Fatal编程技术网

Python Tkinter按钮样式(浮雕)未正确显示

Python Tkinter按钮样式(浮雕)未正确显示,python,python-3.x,button,tkinter,Python,Python 3.x,Button,Tkinter,在tkinter中创建按钮时,我尝试使用“relief”选项,但按钮的样式没有正确显示 这是我找到的信息网站的链接。该网站上有一张预期结果的图片。 我的代码: from tkinter import * # from tkinter.ttk import * root = Tk() root_width, root_height = 200, 500 root.geometry("{}x{}".format(root_width, root_height)) b1 = Button(ro

在tkinter中创建按钮时,我尝试使用“relief”选项,但按钮的样式没有正确显示

这是我找到的信息网站的链接。该网站上有一张预期结果的图片。

我的代码:

from tkinter import *
# from tkinter.ttk import *


root = Tk()
root_width, root_height = 200, 500
root.geometry("{}x{}".format(root_width, root_height))

b1 = Button(root, text="button", relief=FLAT)
b2 = Button(root, text="button", relief=RAISED)
b3 = Button(root, text="button", relief=SUNKEN)
b4 = Button(root, text="button", relief=GROOVE)
b5 = Button(root, text="button", relief=RIDGE)

b1.pack()
b2.pack()
b3.pack()
b4.pack()
b5.pack()

root.mainloop()
屏幕上出现的所有按钮看起来完全相同

想知道为什么会发生这种情况,有没有一种方法可以修复它,或者其他方法可以让我自定义button小部件

我试图使用ttk,但出现了以下错误

_tkinter.TclError: unknown option "-relief"
我目前正在MacBook Pro上运行PyCharm版的Python3,并安装了macOS Sierra 10.12


谢谢

您正在OSX上运行,该操作系统对按钮的外观有严格的指导原则。您无法更改OSX上的释放按钮

我刚刚在我的系统(Win10,Python3)上运行了代码,它运行得很好。我认为这不是代码本身的问题。你试过从命令行运行它吗?编辑:那么有没有办法改变OSX上按钮的布局/外观?@terryy:layout?对外表?不可以。但是,您可以使用图像、标签或画布小部件创建自定义按钮。那么,对于画布或标签,如何使其成为按钮?在我的上一个项目中,我使用canvas进行所有操作,并将鼠标按键绑定到函数。在该函数中,我找到鼠标的坐标并检查它是否位于画布元素上。这真的很复杂。是否有更简单的方法将标签或画布置于按钮模式?