QColorの色見本

Qtで色指定時に便利だと思い作った。
黒色で色名を書いたので、黒のときには文字が読めないのはご愛嬌。
補色で色名を書くと見やすくなるし面白いかもしれない (黒の場合に限らず) 。

f:id:akaoto:20160925025841p:plain

コード

QColor.colorNames()で色名のリストを取得し、適当に並べた。

import numpy as np
from PySide import QtGui
from PySide.QtCore import Qt
import sys


def main():
    app = QtGui.QApplication(sys.argv)
    ct = ColorPalette()
    ct.show()
    app.exec_()


class ColorPalette(QtGui.QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle('Color palette')
        layout = QtGui.QGridLayout()
        self._createPalette(layout)
        self.setLayout(layout)

    def _createPalette(self, layout):
        colorNames = QtGui.QColor.colorNames()
        colorCount = len(colorNames)
        columnCount = int(np.sqrt(colorCount))

        for i, color in enumerate(colorNames):
            colorLabel = QtGui.QLabel(color)
            colorLabel.setFixedSize(100, 50)
            colorLabel.setAlignment(Qt.AlignCenter)
            colorLabel.setStyleSheet("background-color: {}".format(color))

            row = int(i / columnCount)
            col = i % columnCount
            layout.addWidget(colorLabel, row, col)


if __name__ == '__main__':
    main()