С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/104: Рейтинг темы: голосов - 104, средняя оценка - 4.55
zzzZZZ...
 Аватар для dzrkot
527 / 358 / 94
Регистрация: 11.09.2013
Сообщений: 2,041

QPushButton изменить стиль

26.12.2014, 12:22. Показов 22299. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
вообщем я хочу изменить стиль кнопки, но как вообще это правильно делать...
нашёл вот это:
http://doc.crossplatform.ru/qt... pushbutton
http://doc.crossplatform.ru/qt... pushbutton
но как пользоваться этим не понимаю.
Получается только изменить цвет фона, как active и hover сделать рабочими не понимаю совсем
, т.е. чтобы при наведении на кнопку менялся цвет фона и прочие фишки
(Вообще мне нужно тупо сделать обычный крестик, но хочется сделать красивый ^_^ , ну и вообще понять как в qt работать со стилями, но пока как-то тыкаюсь в слепую и результата не вижу, то ли я делаю мне непонятно)

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
closeButton=new QPushButton;
QPixmap pix("closeButton.png");
closeButton->setMask( pix.mask()) ;
closeButton->setStyleSheet(QString::fromUtf8(
            " background-color: rgb(60, 60, 60);"
            " border-radius: 6px transparent;"
            " border-bottom: 3px transparent;"
            " border-right: 2px transparent;"
            " border-left: 2px transparent;"
            " active{ background-color: rgb(232,95,76); }"
            " hover{ background-color: rgb(232,95,76);} "
            ));
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.12.2014, 12:22
Ответы с готовыми решениями:

Как изменить id QPushButton в QButtonGroup?
QAbstractButton * all_pushbuttons; QButtonGroup * button_group; int number; void my button(){ number++; button = new...

Изменить цвет пера по нажатию QPushButton, но без вызова QColorDialog
Нужно в простом редакторе сделать с десяток кнопок(black, red, blue, green и т.д.) для изменения цвета пера по нажатию, и выбор в combobox...

Изменить стиль компонентов
Привет. Знаю, что в Qt нет класса QPanel, а мне он очень нужен. Что можно использовать?

5
19 / 19 / 5
Регистрация: 09.11.2010
Сообщений: 251
26.12.2014, 12:29
dzrkot,
C++ (Qt)
1
2
3
4
5
6
7
8
9
closeButton->setStyleSheet(
            "QPushButton: {background-color: rgb(60, 60, 60)};"
            "QPushButton: {border-radius: 6px transparent};"
            "QPushButton: {border-bottom: 3px transparent};"
            "QPushButton {border-right: 2px transparent};"
            "QPushButton: {border-left: 2px transparent};"
            "QPushButton: active{ background-color: rgb(232,95,76); }"
            "QPushButton: hover{ background-color: rgb(232,95,76);} "
            );
0
zzzZZZ...
 Аватар для dzrkot
527 / 358 / 94
Регистрация: 11.09.2013
Сообщений: 2,041
26.12.2014, 14:41  [ТС]
Цитата Сообщение от Eraser83 Посмотреть сообщение
closeButton->setStyleSheet( "QPushButton: {background-color: rgb(60, 60, 60)};" "QPushButton: {border-radius: 6px transparent};" "QPushButton: {border-bottom: 3px transparent};" "QPushButton {border-right: 2px transparent};" "QPushButton: {border-left: 2px transparent};" "QPushButton: active{ background-color: rgb(232,95,76); }" "QPushButton: hover{ background-color: rgb(232,95,76);} " );
не работает, эффекта 0

Добавлено через 1 час 27 минут
всё, вроде понял как надо
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
closeButton->setStyleSheet(
            "QPushButton{"
            "background-color: rgb(60, 60, 60);"
            "border-radius: 4px transparent;"
            "border-bottom: 3px transparent;"
            "border-right: 2px transparent;"
            "border-left: 2px transparent;}"
            "QPushButton:hover{"
            "background-color: rgb(255,130,00);} "
            "QPushButton:pressed  {"
            "background-color: rgb(232,95,76); } "
            );
Добавлено через 32 минуты
хм....а как сделать прозрачный фон, и подсветку его при наведении, а то я сделал маску на кнопку, но хочется...кароче....

вот есть просто крестик, но кнопка должна быть больше чем крестик, т.е. если я задаю кнопку методом setMask() то у меня область кнопки ограничена маской, но я хочу сделать, чтобы кнопка была больше, т.е. активная область кнопки была больше, но до наведения на неё был виден только крестик...

Добавлено через 7 минут
вроде тож разобрался
0
4 / 4 / 0
Регистрация: 12.12.2014
Сообщений: 52
27.01.2015, 15:53
для таких вещей лучше использовать Qml
1
zzzZZZ...
 Аватар для dzrkot
527 / 358 / 94
Регистрация: 11.09.2013
Сообщений: 2,041
27.01.2015, 16:35  [ТС]
Цитата Сообщение от Rasahd Посмотреть сообщение
для таких вещей лучше использовать Qml
я честно просто не умею пользоваться QML , т.к. толкового русскоязычного понятного мне описания не нашёл..
1
4 / 4 / 0
Регистрация: 12.12.2014
Сообщений: 52
27.01.2015, 16:37
https://www.youtube.com/watch?v=VWLwLzZ4gZk

изучай отсюда, очень подробно обьясняет
3
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.01.2015, 16:37
Помогаю со студенческими работами здесь

Можно ли изменить в Qt стиль оформления приложения ?
Знаю что есть стандартные fusion, xp, vista, Ну и другие, А можно ли установить свои? Например в Delphi я помн можно было меня стиль...

Как изменить стиль формы и вообще всех объектов на свой стиль?
Собственно вопрос в том как изменить стиль формы и вообще всех объектов на свой стиль?

Изменить стиль окна
Господа програмисты допустим мы имеем стиль окна - WS_OVERLAPPEDWINDOW , а по ходу выполнение программы мне нужно изменить допустим на...

Изменить стиль навсегда!
echo "<td><form method='post'><input class='al' type='submit' name='b11' id='1' title='1 ряд, 1 место' value='1'/></form></td>"; Есть...

Изменить стиль Slider
Объясните, как заменить стиль defalt на другой. Я так поняла, их для начала нужно скачать, т.к. пункт меню Style предлагает только defalt ....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru