Python3:相对于另一个的类(或静态)变量定义

时间:2017-10-09 15:59:31

标签: python python-3.x oop ttk class-variables

在Ubuntu MATE 17.04上 Python:3.5

我正在对ttk按钮进行子类化:

$('select').on('change', function(e) {
  alert($(e.target).val());
})

使用按钮时出现错误:

import tkinter as tk
import tkinter.ttk as ttk

class ImgButton(ttk.Button):
    """
    Button for holding an image
    """
    IMG_NAME = 'filename{}.jpg'
    IMAGES_DIR = os.path.sep + os.path.sep.join(['home', 'user', 'MyProjects', 'myProject', 'resources', 'images'])
    UNKNOWN_IMG = os.path.sep.join([IMAGES_DIR, IMG_NAME.format(0)])
    IMAGES = [os.path.sep.join([IMAGES_DIR, IMG_NAME.format(i)]) for i in [1,2,3,4,5,6]]

    # ... more code... You can add an empty __init__() if you like so

if __name__ == '__main__':
    root = tk.Tk()
    ImgButton(root).pack()

如何使用IMAGES_DIR变量UNKNOWN_IMAGE没有问题,IMAGES会引发此错误???

我对此感到震惊。我需要一些静态初始化器吗?我是否需要以另一种方式引用变量?在前一行中它没有任何作用。我尝试了ImgButton.IMAGES_DIR,它不起作用。

我该如何解决这个问题?最重要的是,我做错了什么?

0 个答案:

没有答案