Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.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 在我切换窗口之前,OSX上的Tkinter按钮释放不会更改_Python_Macos_Button_Tkinter - Fatal编程技术网

Python 在我切换窗口之前,OSX上的Tkinter按钮释放不会更改

Python 在我切换窗口之前,OSX上的Tkinter按钮释放不会更改,python,macos,button,tkinter,Python,Macos,Button,Tkinter,我正在设计一个带有Tkinter的gui,而且特定的按钮行为不正常。主应用程序窗口包括一个连接到机器的按钮。按钮命令工作正常,因为连接成功,但单击按钮时不会更改浮雕或颜色。如果我单击应用程序外或通过应用程序内的一个按钮创建一个新窗口,然后单击返回主窗口,则该按钮看起来与预期完全一致。只有在启动时按钮才会决定懒惰 机器连接后,会显示更多外观和操作正确的按钮,这只是第一个按钮有问题。下面是一些按钮的图片,以及它们在连接之前和之后的外观 如果有帮助的话,我正在使用OSX 10.10和更新的Python

我正在设计一个带有Tkinter的gui,而且特定的按钮行为不正常。主应用程序窗口包括一个连接到机器的按钮。按钮命令工作正常,因为连接成功,但单击按钮时不会更改浮雕或颜色。如果我单击应用程序外或通过应用程序内的一个按钮创建一个新窗口,然后单击返回主窗口,则该按钮看起来与预期完全一致。只有在启动时按钮才会决定懒惰

机器连接后,会显示更多外观和操作正确的按钮,这只是第一个按钮有问题。下面是一些按钮的图片,以及它们在连接之前和之后的外观

如果有帮助的话,我正在使用OSX 10.10和更新的Python 3.6.564位,用于OSX 10.6+10.9+,以及ActiveTcl 8.5.18.0版

下面的代码会出现一个测试按钮,该按钮也有同样的问题

import tkinter as tk

if __name__ == '__main__':
    root = tk.Tk()
    root.title('Button Test')

    button = tk.Button(root, text = 'test me', padx= '20', pady = '20')
    button.grid()

    root.mainloop()
编辑:我四处搜索,发现有些人通过更新Python/Tcl包修复了类似的问题,但我的问题似乎一直存在


EDIT2:我尝试将类型从tk.Button更改为tk.ttk.Button,这似乎修复了视觉缺陷,但由于默认样式选项,它在新按钮周围绘制了灰色边框。不过,这是一个单独的问题,其他人在这里询问如何解决。

我在这里看到了几个打字错误

更改:

import tkinter as tk

if __name__ = '__main__': # needs to be == not =.
    root = tk.Tk()
    root.title('Button Test')
    # test= should be text=. remove command if you are not using it.
    # typo in padx. padx '20; should be padx='20'
    button = tk.Button(root, test = 'test me', command = None, padx '20;, pady = '20')
    button.grid()

    root.mainloop()
为此:

import tkinter as tk

if __name__ == '__main__':
    root = tk.Tk()
    root.title('Button Test')

    button = tk.Button(root, text='test me', padx='20', pady='20')
    button.grid()

    root.mainloop()

我也在做一些研究,显然MacOSX不支持按钮或浮雕样式的背景色。你可以找到它


然而,我发现有一个模块允许对OSX进行更多的定制。您可以找到它

请在堆栈溢出之外创建一个“请勿链接”代码或图像。而是在您的问题中插入图像或代码。@Mike SMT由于我的帐户的年龄,我无法嵌入图像。代码如何?请阅读Bryan提供的链接,然后提供一个MCVE。@Mike SMT代码已添加,此时会出现小框,但按钮不会显示与鼠标的任何交互,直到我切换到新窗口并返回