Шаг 263.
Библиотека PyQt5.
Диалоговые окна. Окно для выбора цвета

    На этом шаге мы рассмотрим cоздание такого окна.

    Окно для выбора цвета (рисунок 1) реализуется с помощью статического метода getColor() класса QColorDialog. Формат метода:

  getColor([initial=white][, parent=None][, title=""][, options=0])

    Параметр initial задает начальный цвет. В параметре parent указывается ссылка на родительское окно или значение None. Параметр title позволяет указать заголовок окна. В параметре options могут быть указаны следующие атрибуты (или их комбинация) класса QColorDialog:

    Метод возвращает экземпляр класса QColor, представляющий выбранный цвет. Если пользователь нажмет кнопку Cancel, возвращенный экземпляр будет невалидным.

    Пример:

# -*- coding: utf-8 -*-
from PyQt5 import QtWidgets, QtGui
import sys


def on_clicked():
    color = QtWidgets.QColorDialog.getColor(initial=QtGui.QColor("#ff0000"), 
           parent=window, title="Окно выбора цвета", 
           options=QtWidgets.QColorDialog.ShowAlphaChannel)
    if color.isValid():
        print(color.red(), color.green(), color.blue(), color.alpha())
        # Задание новго стиля для поля
        style = 'QLineEdit { background-color: rgb(' + str(color.red()) + 
              ',' + str(color.green()) + ',' + str(color.blue()) + ') }'
        # Установка нового стиля
        lineEdit1.setStyleSheet(style)

app = QtWidgets.QApplication(sys.argv)
window = QtWidgets.QWidget()          # Родительский компонент - окно
window.setWindowTitle("Использование окна выбора цвета")
# Назначаем обработчиками функции
button1 = QtWidgets.QPushButton("Выбор цвета")
lineEdit1 = QtWidgets.QLineEdit()
grid = QtWidgets.QGridLayout()        # Создаем сетку
grid.addWidget(button1, 0, 0)         # Добавляем компоненты
grid.addWidget(lineEdit1, 0, 1)
button1.clicked.connect(on_clicked)
window.setLayout(grid)
window.show()
sys.exit(app.exec_())
Архив с файлом можно взять здесь.

    Результат выполнения этого кода показан на рисунках 1, 2.


Рис.1. Окно выбора цвета


Рис.2. Результат выбора цвета

    На следующем шаге мы рассмотрим окно для выбора шрифта.




Предыдущий шаг Содержание Следующий шаг