Pyside - QcolorDialog信号

时间:2018-01-30 17:57:31

标签: python pyside qt-signals qcolor qcolordialog

点击“确定”的信号是什么? QColorDialog中的按钮。

我试过

self.color_chooser = QtWidgets.QColorDialog()
self.color_chooser.getColor()
self.color_chooser.currentColorChanged.connect(self.color_pick)

def color_pick(self):
    print 'signaled'

没用。

1 个答案:

答案 0 :(得分:1)

您要求的信号为colorSelected,按OK按钮后会发出此信号

class Widget(QWidget):
    def __init__(self, *args, **kwargs):
        QWidget.__init__(self, *args, **kwargs)
        self.color_chooser = QColorDialog()
        self.color_chooser.colorSelected.connect(self.color_pick)
        self.color_chooser.show()

    def color_pick(self, color):
        print('signaled', color)

如果要在按下OK按钮后获得颜色,可以使用以下其他方法:

class Widget(QWidget):
    def __init__(self, *args, **kwargs):
        QWidget.__init__(self, *args, **kwargs)
        self.color_chooser = QColorDialog()
        if self.color_chooser.exec_() == QColorDialog.Accepted:
            print(self.color_chooser.currentColor())
class Widget(QWidget):
    def __init__(self, *args, **kwargs):
        QWidget.__init__(self, *args, **kwargs)
        self.color_chooser = QColorDialog()
        color = self.color_chooser.getColor()
        if color.isValid():
            print(color, color.name())