How to Change the Background Color of QWidget/ru: Difference between revisions
Jump to navigation
Jump to search
(Русский перевод английской статьи) |
(No difference)
|
Latest revision as of 09:20, 4 May 2016
Введение
QWidget является базовым классом для всех элементов оконного интерфейса, поэтому смена цвета фона для них производится аналогичным образом.
Использование палитры цветов
Первый пример показывает как изменить цвет фона, используя QPalette
m_pMyWidget = new QWidget(this);
m_pMyWidget->setGeometry(0,0,300,100);
QPalette Pal(palette());
// устанавливаем цвет фона
Pal.setColor(QPalette::Background, Qt::black);
m_pMyWidget->setAutoFillBackground(true);
m_pMyWidget->setPalette(Pal);
m_pMyWidget->show();
Using Style Sheet
Таблица стилей содержит текстовое описание изменений в стиле элемента окна. Подробнее читайте: Qt Style Sheets document.
m_pMyWidget = new QWidget(this);
m_pMyWidget->setGeometry(0,0,300,100);
m_pMyWidget->setStyleSheet("background-color:black;");
m_pMyWidget->show();
Оба способа смены цвета фона QWidget были успешно скомпилированы с использованием Qt SDK 1.1 и протестированы на устройствах Symbian.
Note: Если Вы наследуете QWidget, то для использования таблицы стилей Вы должны реализовать событие paintEvent:
void CustomWidget::paintEvent(QPaintEvent *)
{
QStyleOption opt;
opt.init(this);
QPainter p(this);
style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
}