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

From Qt Wiki
Jump to navigation Jump to search
No edit summary
(No difference)

Revision as of 07:19, 24 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 файл

<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