QWidget Semi-transparent Background Color/bg: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
 
No edit summary
Line 1: Line 1:
[[Category:snippets]]<br />[[Category:HowTo]]
[[Category:snippets]]
[[Category:HowTo]]


'''Български''' [[QWidget_Semi-transparent_Background_Color|English]]
'''Български''' [[QWidget_Semi-transparent_Background_Color|English]]
Line 5: Line 6:
= Полупрозрачен цвят на фона на QWidget =
= Полупрозрачен цвят на фона на QWidget =


Този отрязйк от програмен код показва как са се постигне прозрачност на цвета на фона на &quot;QWidget&amp;quot;:http://doc.qt.io/qt-5.0/qtwidgets/qwidget.html чрез предефиниране на &quot;paintEvent()&quot;:http://doc.qt.io/qt-5.0/qtwidgets/qwidget.html#paintEvent.
Този отрязйк от програмен код показва как са се постигне прозрачност на цвета на фона на "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 файл<br /><code><br />protected:
.h файл
<code>
protected:


//overload from QWidget<br /> void paintEvent(QPaintEvent* event);<br /></code>
//overload from QWidget
void paintEvent(QPaintEvent* event);
</code>


* Имплементиране на paintEvent
* Имплементиране на paintEvent


.cpp файл<br /><code><br />void MyWidget::paintEvent(QPaintEvent* /*event*/)<br />{<br /> QColor backgroundColor = palette().light().color();<br /> backgroundColor.setAlpha(200);<br /> QPainter customPainter(this);<br /> customPainter.fillRect(rect(),backgroundColor);<br />}<br /></code>
.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''' в &quot;тази тема във форума&amp;quot;:http://developer.qt.nokia.com/forums/viewthread/1488.
Този отрязък от код е вдъхновен от предложеното решение от '''Antonio Di Monaco''' в "тази тема във форума":http://developer.qt.nokia.com/forums/viewthread/1488.


== Вижте също ==
== Вижте също ==


&quot;Как се сменя цвета на фона на QWidget&amp;quot;:http://developer.qt.nokia.com/wiki/How_to_Change_the_Background_Color_of_QWidget_Bulgarian
"Как се сменя цвета на фона на 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