У меня проблема с tkinter.ttk на Mac.Я использую macports и python3.1.Когда я пытаюсь использовать tkinter.ttk, я получаю очень старые элементы интерфейса.
Например: я получаю это
Вместо этого:
Я использовал код:
from tkinter import *
from tkinter import ttk
root = Tk()
button = ttk.Button(root, text="Hello World").grid()
root.mainloop()
Я был бы рад предоставить любую информацию с моего компьютера, необходимую для ответа на этот вопрос.Поскольку я начинающий программист, скажите, пожалуйста, где найти указанную информацию.
У меня MacBook 5,2 с установленным Snow Leopard.Любая помощь будет оценена.
Спасибо, Марлен
Обновление вопроса:
Я установил tk @ 8.5.9_0 + кварц как schlenk , предложенный только дляполучить эту ошибку:
TclMacOSXNotifierAddRunLoopMode: Tcl not built with CoreFoundation support Abort trap
Я исправил эту ошибку с помощью патча от https://trac.macports.org/ticket/22954. Я следовал инструкциям к букве (они есть):
$ cd /opt/local/var/macports/sources/rsync.macports.org/release/ports/lang/tcl
$ sudo patch < ~/Downloads/tcl.2.patch
$ sudo port install tcl
Это созданоновая ошибка:
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.