Глава 10 – Элементы ввода

Элементы ввода

Приобрести книгу можно на сайте ozon.ru и в электронном виде на Google Play:
Приобрести книгу о Qt и C++ на Ozon.ru Купить книгу о Qt и C++ на Goole Play

3 thoughts on “Глава 10 – Элементы ввода

  1. Здравствуйте, Макс!
    На стр. 167 Листинг 10.5 приведен код функции main(). Там есть строки:

    1. QPalette pal = txt.palette();
    2. pal.setColor(QPalette::Base, Qt::darkBlue);
    3. pal.setColor(QPalette::Text, Qt::yellow);
    4. txt.setPalette(pal);

    Насколько я понимаю здесь создается объект палитры – 1 строка, далее фону присваивается синий цвет, а тексту желтый – 2 и 3 строки, а в 4 сроке для виджета txt (текстового редактора) устанавливается палитра pal.
    Вопрос следующий: зачем в первой строке мы объекту pal присваиваем txt.palette()? Если первую строку сделать вида: “QPalette pal;”, т.е. просто создать объект палитры, то всё так же работает…

    1. Это сделано для того что бы изменить только указанные значения палитры Base и Text. В противном случае нет гарантий у созданного по умолчанию объекта класса QPalette все значения палитры совпадали бы с палитрой объекта класса QTextEdit. То есть это сделано для того что бы непреднамеренно не изменить некоторые значения палитры объекта txt.

Добавить комментарий