Название: Как установить цвет для нажатой кнопки не через setStyleSheet? Отправлено: billy4685 от Ноябрь 21, 2014, 00:27 ??? Не могу найти как установить цвет для нажатой кнопки. Знаю как это делается через setStyleSheet, но так как там все указывается через строки, мне это не подходит. У себя в коде сделал функцию для задания цвета кнопки, устанавливал цвет кнопки через setPalette(pal), указав для палитры цвет pal.setColor(QPalette::Button, color). Вот теперь хочу сделать себе функцию, чтобы задавать цвет нажатой кнопки, но увы пока не знаю как. Может кто-то знает как задать цвет нажатой кнопки не через qss-ую таблицу стилей?
Название: Re: Как установить цвет для нажатой кнопки не через setStyleSheet? Отправлено: gil9red от Ноябрь 21, 2014, 00:35 Если вручную отрисовывать кнопку, то таких проблем не возникнет. Но по мне через стили проще будет.
Название: Re: Как установить цвет для нажатой кнопки не через setStyleSheet? Отправлено: billy4685 от Ноябрь 21, 2014, 00:43 да я знаю, но мне нужно именно чтобы в функцию "задание цвета для нажатой кнопки" посылать цвет (Qt::Green к примеру).
Название: Re: Как установить цвет для нажатой кнопки не через setStyleSheet? Отправлено: billy4685 от Ноябрь 21, 2014, 00:51 а как в
setStyleSheet("QPushButton::pressed {background-color: red}" "QPushButton::pressed {background-color: gray}"); вместо red и gray вставлять color из кода программы увы не знаю. Название: Re: Как установить цвет для нажатой кнопки не через setStyleSheet? Отправлено: Bepec от Ноябрь 21, 2014, 00:57 1) ничто не мешает вам в функции преобразовывать цвет в HEX и написать в stylesheet "background-color: #XXXXXX".
2) можете использовать палитру. Название: Re: Как установить цвет для нажатой кнопки не через setStyleSheet? Отправлено: billy4685 от Ноябрь 21, 2014, 10:27 1) ничто не мешает вам в функции преобразовывать цвет в HEX и написать в stylesheet "background-color: #XXXXXX". Проблема в том что мне вместо #XXXXXX нужно указать переменную.2) можете использовать палитру. А как через палитры задавать цвет фона для нажатия кнопки? (просто выставить цвет фона кнопки через палитры у меня получается). Название: Re: Как установить цвет для нажатой кнопки не через setStyleSheet? Отправлено: DenKor29 от Ноябрь 21, 2014, 10:38 1) ничто не мешает вам в функции преобразовывать цвет в HEX и написать в stylesheet "background-color: #XXXXXX". Проблема в том что мне вместо #XXXXXX нужно указать переменную.2) можете использовать палитру. QString arg ( int a, int fieldWidth = 0, int base = 10, const QChar & fillChar = QLatin1Char( ' ' ) ) const Примерно так для Qt::darkGray Код: int color=0x808080; Название: Re: Как установить цвет для нажатой кнопки не через setStyleSheet? Отправлено: Bepec от Ноябрь 21, 2014, 10:52 QString QColor::name() const вам поможет.
Название: Re: Как установить цвет для нажатой кнопки не через setStyleSheet? Отправлено: billy4685 от Ноябрь 21, 2014, 13:58 1) ничто не мешает вам в функции преобразовывать цвет в HEX и написать в stylesheet "background-color: #XXXXXX". Проблема в том что мне вместо #XXXXXX нужно указать переменную.2) можете использовать палитру. QString arg ( int a, int fieldWidth = 0, int base = 10, const QChar & fillChar = QLatin1Char( ' ' ) ) const Примерно так для Qt::darkGray Код: int color=0x808080; Название: Re: Как установить цвет для нажатой кнопки не через setStyleSheet? Отправлено: billy4685 от Ноябрь 21, 2014, 13:59 QString QColor::name() const вам поможет. спасибо) |