QWidget Semi-transparent Background Color/bg

From Qt Wiki
< QWidget Semi-transparent Background Color
Revision as of 07:19, 24 February 2015 by Maintenance script (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


Български English

Полупрозрачен цвят на фона на QWidget

Този отрязйк от програмен код показва как са се постигне прозрачност на цвета на фона на "QWidget&quot;:http://doc.qt.io/qt-5.0/qtwidgets/qwidget.html чрез предефиниране на "paintEvent()":http://doc.qt.io/qt-5.0/qtwidgets/qwidget.html#paintEvent.

  • Предефиниране на paintEvent

.h файл

<br />protected:

//overload from QWidget<br /> void paintEvent(QPaintEvent* event);<br />
  • Имплементиране на paintEvent

.cpp файл

<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 />

Този отрязък от код е вдъхновен от предложеното решение от Antonio Di Monaco в "тази тема във форума&quot;:http://developer.qt.nokia.com/forums/viewthread/1488.

Вижте също

"Как се сменя цвета на фона на QWidget&quot;:http://developer.qt.nokia.com/wiki/How_to_Change_the_Background_Color_of_QWidget_Bulgarian