Как в QML поменять цвет кнопки Button?
Не могу понять простую вещь: как в QML поменять цвет кнопки для типа Button из набора QtQuick.Controls 1.5
Я создаю свой тип кнопки так (файл MyPrettyButton.qml):
import QtQuick 2.0
import QtQuick.Controls 1.5
import QtQuick.Controls.Styles 1.4
Button {
style: ButtonStyle {
background: Rectangle {
color: control.pressed ? "#989898" : "#a4ab90"
}
}
}
Но когда я использую такой тип, внешний вид кнопки сильно меняется:
- Кнопка сплющивается раза в полтора по высоте
- Иконка (задаваемая через iconSource) начинает прилипать к тексту надписи, вместо того чтобы находиться в левой части кнопки
Вопрос: как поменять цвет кнопки, не затрагивая ничего другого?
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.Вам это нравится? Поделитесь в социальных сетях!
Комментарии
Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
Пожалуйста, авторизуйтесь или зарегистрируйтесь
- Дмитрий
- 7 мая 2024 г. 16:40
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:60баллов,
- Очки рейтинга-1
d
- dsfs
- 26 апреля 2024 г. 11:56
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:80баллов,
- Очки рейтинга4
Последние комментарии
Qt Linux - Урок 001. Автозапуск Qt приложения под Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
АК
Qt WinAPI - Урок 007. Работаем с ICMP Ping в Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
Анатолий Кононенко5 февраля 2024 г. 9:50
EVA25 декабря 2023 г. 18:30
Boost - статическая линковка в CMake проекте под Windows Сделал всё по-как у вас, но выдаёт ошибку [build] LINK : fatal error LNK1104: не удается открыть файл "libboost_locale-vc142-mt-gd-x64-1_74.lib" Хоть убей, не могу понять в чём дел…
Qt/C++ - Урок 056. Подключение библиотеки Boost в Qt для компиляторов MinGW и MSVC Для решения твой проблемы добавь в файл .pro строчку "LIBS += -lws2_32" она решит проблему , лично мне помогло.
Сейчас обсуждают на форуме
добавить qlineseries в функции в функции: "GPlotter::addSeries(QString title, QVector &arr)" я вызываю метод setChart(...), я в конструктор передал адрес на QChartView элемент
BlinCT5 мая 2024 г. 12:46
Best Indian Food Restaurant In Cincinnati OH Ready to embark on a gastronomic journey like no other? Join us at App india restaurant and discover why we're renowned as the Best Indian Food Restaurant In Cincinnati OH . Whether y…
Evgenii Legotckoi2 мая 2024 г. 21:07
IscanderChe30 апреля 2024 г. 11:22
Добрый день!
Вообще я бы посоветовал уже использовать 2 контролы. Потому что уже 2.2 версия есть. С ними проще все.
Вот мой пример костомной кнопки если вдруг потребуется.
Сделал так, но у меня цвет кнопки становится всегда белым, не зависимо от выбранного цвета. Скажите пожалуйста, почему так?
А если делаю так, то кнопка становится белой и текст исчезает
А если сделать так, то цвет меняется. Но как добаить другой цвет при нажатии?
Если делаю так, то получаю ошибку: неверное название свойства "style"
Добрый день!
Свойство style есть только в старых контролах версии 1, в новых контролах style нет, просто переопределяет contentItem как вы делали в первом вариаанте.
У вас там проблема в том, что вы зачем-то решётку добавили. Она там не должна находиться, так будет преавильно.
Вставил Ваш код, вышло так, но кнопка становится белой и текст уже не видно
Сдаётся мне, что вы взяли control.down из старой версии контролов. перепишите так
Переписал, тот же результат, все та же белаю кнопка
Разве Ваш код не повторяет предыдущий?
Вот код: с начала файла
Я Вам написал, что вы используете control.down , который был в первой версии контролов, при этом этот код у вас для второй версии контролов. Вы намешали две версии библиотек, которые несовместимы.
я поменял в вашем случае
На
Возможно, кнопка у вас белая потому, что вы используете opacity параметр, который отвечает за прозрачность и делает кнопку белёсой. Покажите изображение, а то по ходу мы с вами о разных вещах говорим.
Вот скрин: слева белая, а с права обычная.
Вот рабочий пример
Спасибо, а если дописать так, то еще и фон меняется