【问题标题】:Python 2.6 -> Python 3.1 (for using ttk)Python 2.6 -> Python 3.1(用于使用 ttk)
【发布时间】:2013-05-17 22:56:34
【问题描述】:

我想使用 ttk 作为 tkinter 的一部分,但我的 Mac 上有 Python 2.6。所以我去安装了Python 3.1,它自带了ttk,并没有覆盖之前的版本。因此我仍然没有能力使用 ttk。

我是在解决这个问题还是我遗漏了什么?

【问题讨论】:

  • Python3.1安装成功了吗?你可以用python3 运行它吗?
  • 我打开包并完成了安装过程,它安装正确。在那之后还有一步,我错过了吗?
  • 打开一个终端并输入python3,你会得到一个交互式提示,比如>>> 吗?
  • 是的,我明白了。这是否意味着当我编译时我使用 python3 而不是 python?
  • 这意味着当你想运行你的脚本你应该用python3调用它。

标签: python tkinter python-2.6 ttk python-3.1


【解决方案1】:

试试这个:将以下内容保存在test.py

import tkinter as tk
import tkinter.ttk as tkk

class SimpleApp(object):
    def __init__(self, master, **kwargs):
        title = kwargs.pop('title')
        frame = tkk.Frame(master, **kwargs)
        frame.pack()
        self.label = tkk.Label(frame, text=title)
        self.label.pack(padx=10, pady=10)    

root = tk.Tk()
app = SimpleApp(root, title='Hello, world')
root.mainloop()

然后,在终端提示符下,运行

% python3 test.py

(要运行 Python3 脚本,请使用 python3。要运行 Python2 脚本,请使用 python。)

【讨论】:

  • 这不会为我编译,我正在尝试发布我的错误的屏幕截图。但我是stackoverflow的新手,我不知道该怎么做。然而,这是我得到的两个错误。 app = SimpleApp(root, title='Hello, world') frame = tkk.Frame(master, **kwargs)
  • 我需要 10 声望才能发布照片
  • 复制粘贴文本即可。无论如何,在这种情况下,这比照片要好得多。
  • 回溯(最近一次调用最后):文件“test.py”,第 13 行,在 app = SimpleApp(root, title='Hello, world') 文件“test.py” ,第 7 行,在 init frame = tkk.Frame(master, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/tkinter/ttk. py",第 761 行,在 init Widget.__init__(self, master, "ttk::frame", kw) 文件 "/Library/Frameworks/Python.framework/Versions/3.1/lib/python3 .1/tkinter/ttk.py",第 559 行,在 init _load_tile(master)
  • 文件“/Library/Frameworks/Python.framework/Versions/3.1/lib/python3.1/tkinter/ttk.py”,第47行,在_load_tile master.tk.eval('package require tile') # 此处可能会引发 TclError _tkinter.TclError: can't find package tile
猜你喜欢
  • 1970-01-01
  • 2015-05-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-09
  • 2010-12-16
  • 1970-01-01
相关资源
最近更新 更多