QWidget Semi-transparent Background Color/bg: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
[[Category:snippets]] | [[Category:snippets]] | ||
[[Category:HowTo]] | |||
'''Български''' [[QWidget_Semi-transparent_Background_Color|English]] | '''Български''' [[QWidget_Semi-transparent_Background_Color|English]] | ||
Line 5: | Line 6: | ||
= Полупрозрачен цвят на фона на QWidget = | = Полупрозрачен цвят на фона на QWidget = | ||
Този отрязйк от програмен код показва как са се постигне прозрачност на цвета на фона на | Този отрязйк от програмен код показва как са се постигне прозрачност на цвета на фона на "QWidget":http://doc.qt.io/qt-5.0/qtwidgets/qwidget.html чрез предефиниране на "paintEvent()":http://doc.qt.io/qt-5.0/qtwidgets/qwidget.html#paintEvent. | ||
* Предефиниране на paintEvent | * Предефиниране на paintEvent | ||
.h файл | .h файл | ||
<code> | |||
protected: | |||
//overload from QWidget | //overload from QWidget | ||
void paintEvent(QPaintEvent* event); | |||
</code> | |||
* Имплементиране на paintEvent | * Имплементиране на paintEvent | ||
.cpp файл | .cpp файл | ||
<code> | |||
void MyWidget::paintEvent(QPaintEvent* /*event*/) | |||
{ | |||
QColor backgroundColor = palette().light().color(); | |||
backgroundColor.setAlpha(200); | |||
QPainter customPainter(this); | |||
customPainter.fillRect(rect(),backgroundColor); | |||
} | |||
</code> | |||
Този отрязък от код е вдъхновен от предложеното решение от '''Antonio Di Monaco''' в | Този отрязък от код е вдъхновен от предложеното решение от '''Antonio Di Monaco''' в "тази тема във форума":http://developer.qt.nokia.com/forums/viewthread/1488. | ||
== Вижте също == | == Вижте също == | ||
"Как се сменя цвета на фона на QWidget":http://developer.qt.nokia.com/wiki/How_to_Change_the_Background_Color_of_QWidget_Bulgarian |
Revision as of 13:05, 25 February 2015
Български English
Полупрозрачен цвят на фона на QWidget
Този отрязйк от програмен код показва как са се постигне прозрачност на цвета на фона на "QWidget":http://doc.qt.io/qt-5.0/qtwidgets/qwidget.html чрез предефиниране на "paintEvent()":http://doc.qt.io/qt-5.0/qtwidgets/qwidget.html#paintEvent.
- Предефиниране на paintEvent
.h файл
protected:
//overload from QWidget
void paintEvent(QPaintEvent* event);
- Имплементиране на paintEvent
.cpp файл
void MyWidget::paintEvent(QPaintEvent* /*event*/)
{
QColor backgroundColor = palette().light().color();
backgroundColor.setAlpha(200);
QPainter customPainter(this);
customPainter.fillRect(rect(),backgroundColor);
}
Този отрязък от код е вдъхновен от предложеното решение от Antonio Di Monaco в "тази тема във форума":http://developer.qt.nokia.com/forums/viewthread/1488.
Вижте също
"Как се сменя цвета на фона на QWidget":http://developer.qt.nokia.com/wiki/How_to_Change_the_Background_Color_of_QWidget_Bulgarian