2016-10-28 5 views
1

セルにある整数値に基づいて特定のセルを色付けするテーブルウィジェットを持っています。このために私はQColorsでenumを作成したいと思っています。QColor Enumを作成しようとしています

from enum import Enum 
from PyQt5.QtCore import * 

class Color(Enum): 
    Qt.white = 0 
    Qt.black = 1 
    Qt.red = 2 
    Qt.blue = 3 
    Qt.yellow = 4 
    Qt.green = 5 

たとえば、私は色を書きます1セルは黒くなるはずです。値はセルから読み込まれますが、私はこの列挙型を働かせることはできません。私がするとき:

これは問題がこの色の列挙体にあるので、それは動作します。

誰でもこの方法を知っていますか?

答えて

1

列挙型の代わりに辞書を使用する必要があります。

colors = { 
    0: Qt.white, 
    1: Qt.black, 
    2: Qt.red, 
    # ... 
} 

そして、あなたのアイテムが多数含まれている場合:

item.setBackground(colors[int(item.text())]) 

はそれが役に立てば幸いです!

+0

ありがとうございます。 dictが私のために働くとき、もうenumを試してはいけません:) – teuno

関連する問題