Mac에서 tkinter.ttk에 문제가 있습니다. 나는 macports와 python3.1을 사용하고 있습니다. tkinter.ttk를 사용하려고하면 GUI가 매우 오래갑니다.ttk 위젯을 현대적으로 보이게하려면 어떻게해야합니까?
예 :이 대신이
를 얻을 :
내가 사용하는 코드는 다음과 같습니다
from tkinter import *
from tkinter import ttk
root = Tk()
button = ttk.Button(root, text="Hello World").grid()
root.mainloop()
내가 필요로 내 컴퓨터에서 정보를 제공 드릴 것입니다 이 질문에 답하십시오. 내가 초보 프로그래머이므로 정보를 어디서 찾을 수 있는지 말해주십시오.
Snow Leopard가 설치된 MacBook 5,2가 있습니다. 어떤 도움을 주시면 감사하겠습니다.
감사합니다, Marlen
: 나는 패치이 오류를 해결
TclMacOSXNotifierAddRunLoopMode: Tcl not built with CoreFoundation support Abort trap
: 나는 + 슈렝 으로이 오류가 만 제안 석영 8.5.9_0 @TK를 설치
https://trac.macports.org/ticket/22954에서. 그러나 내가 경험의 상당한 금액을 가지고, 내가 TTK 연주하지 않은
Traceback (most recent call last):
File "hello.py", line 5, in <module>
root = Tk()
File "/opt/local/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/tkinter/__init__.py", line 1632, in __init__
self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: Can't find a usable tk.tcl in the following directories:
/opt/local/lib/tcl8.5/tk8.5 /opt/local/lib/tcl8.5/tk8.5/Resources/Scripts /opt/local/lib/tk8.5 /opt/local/lib/tk8.5/Resources/Scripts /opt/local/Library/Frameworks/Python.framework/Versions/3.1/Resources/Python.app/Contents/lib/tk8.5 /opt/local/Library/Frameworks/Python.framework/Versions/3.1/Resources/Python.app/Contents/lib/tk8.5/Resources/Scripts /opt/local/Library/Frameworks/Python.framework/Versions/3.1/Resources/Python.app/lib/tk8.5 /opt/local/Library/Frameworks/Python.framework/Versions/3.1/Resources/Python.app/Contents/library
/opt/local/lib/tk8.5/tk.tcl: version conflict for package "Tk": have 8.5.7, need exactly 8.5.9
version conflict for package "Tk": have 8.5.7, need exactly 8.5.9
while executing
"package require -exact Tk 8.5.9"
(file "/opt/local/lib/tk8.5/tk.tcl" line 20)
invoked from within
"source /opt/local/lib/tk8.5/tk.tcl"
("uplevel" body line 1)
invoked from within
"uplevel #0 [list source $file]"
This probably means that tk wasn't installed properly.
시도 이 작업을 시작하게되면 더 이상 관련성이 없어져서 너무 오래되어 @schlenk의 답변으로 표시하게됩니다. 응답에 가장 많은 작업을 넣었 기 때문입니다. 질문. –