Skip to main content

PyQt color picker dialog

Project description

pyqt-color-picker

PyQt color picker dialog which contains color picker widget.

You can either use dialog or widget.

Requirements

PyQt5 >= 5.8

Setup

python -m pip install pyqt-color-picker

Class, Method Overview

ColorPickerDialog

  • ColorPickerDialog(color=QColor(255, 255, 255), orientation='horizontal')

    • color argument's type can be QColor or str.

    • orientation argument decides the overall layout direction of the dialog. There are two values. 'horizontal', 'vertical'. See layout preview below.

  • getColor() -> QColor - get the color.

If you only want to use this as a part of window(not as whole dialog), use ColorPickerWidget(color=QColor(255, 255, 255), orientation='horizontal'). See the example below.

ColorPickerWidget

  • colorChanged(color: QColor) - signal. After color being changed, this will be emitted.

  • getCurrentColor() -> QColor - get the current color.

Layout type

Horizontal

image

Vertical

image

Usage

Dialog

Code Sample

dialog = ColorPickerDialog()

reply = dialog.exec()

if reply == QDialog.Accepted: 

  color = dialog.getColor() # return type is QColor

  //..

Result

https://user-images.githubusercontent.com/55078043/144693507-7b078c86-8c71-4df5-869f-8380885b9108.mp4

Using as a part of window

Code Sample

from PyQt5.QtWidgets import QMainWindow, QApplication, QHBoxLayout, QWidget, QTextEdit

from pyqt_color_picker import ColorPickerWidget





class Window(QMainWindow):

    def __init__(self):

        super().__init__()

        self.__initUi()



    def __initUi(self):

        self.__te = QTextEdit()

        self.__colorPicker = ColorPickerWidget(orientation='vertical')

        self.__colorPicker.colorChanged.connect(self.colorChanged) # when color has changed, call the colorChanged function

        lay = QHBoxLayout()

        lay.addWidget(self.__te)

        lay.addWidget(self.__colorPicker)

        mainWidget = QWidget()

        mainWidget.setLayout(lay)

        self.setCentralWidget(mainWidget)



    def colorChanged(self, color):

        self.__te.setStyleSheet(f'QTextEdit {{ color: {color.name()} }}')





if __name__ == "__main__":

    import sys



    app = QApplication(sys.argv)

    ex = Window()

    ex.show()

    sys.exit(app.exec_())

Result

https://user-images.githubusercontent.com/55078043/189460590-18bc80b5-fb48-43f7-891f-dd6cf48243ee.mp4

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyqt-color-picker-0.0.20.tar.gz (8.4 kB view hashes)

Uploaded Source

Built Distribution

pyqt_color_picker-0.0.20-py3-none-any.whl (11.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page