मैं एक हाइलाइट के रूप में कार्य करने के लिए एक छवि के शीर्ष पर एक अर्द्ध पारदर्शी आयत खींचने की कोशिश कर रहा हूं। दुर्भाग्यवश, मैं जो कुछ भी कोशिश करता हूं वह पारदर्शी प्रभाव को करने में सक्षम नहीं लगता है। इसके बजाय मैं बिना पारदर्शिता के ठोस ठोस आयत प्राप्त करता हूं। मैं QBrush
एक अल्फा देने की वजह से उम्मीदमैं क्यूटी में अर्ध-पारदर्शी आयताकार कैसे आकर्षित करूं?
void PageView::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
QImage img=...;
painter.drawImage(0, 0, img);
...
// draw a light blue, transparent rectangle to highlight
QRect rect=...;
painter.fillRect(rect, QColor(128, 128, 255, 128));
...
}
दुर्भाग्य से, मेरे लिए, यह एक ठोस नीले आयत ड्रॉ बजाय अर्द्ध पारदर्शी एक की:
यहाँ अभी मैं क्या कर रहा हूँ मूल्य।
मैंने या QPixMap
पर ड्राइंग करने का भी प्रयास किया है, painter.setCompositionMode(...)
के साथ खेल रहा है। अब तक कोई भाग्य नहीं है।
इस प्रकार मेरा प्रश्न: मैं अपने PageView
पर सेमी-पारदर्शी आयताकार बनाने के लिए क्यूटी को कैसे समझा सकता हूं?
संपादित करें: यदि यह प्रासंगिक है, तो मैं इसे विंडोज़ पर क्यूटी 4.8.1 के तहत बना रहा हूं।
[क्यूटी दस्तावेज़] (http://doc-snapshot.qt-project.org/4.8/qbrush.html) में कोई क्यूब्रश (आर, जी, बी, ए) 'कन्स्ट्रक्टर नहीं है। क्या आपका मतलब 'क्यूकोलर' था? –
मैंने किया, हाँ। मेरी गलती। – Managu
पूर्ण 'पृष्ठ दृश्य :: paintEvent' http://pastebin.com/Dj9dDd0c पर। हालांकि मुझे नहीं लगता कि मैंने जो कुछ छोड़ा है उसमें कुछ भी दिलचस्प है। – Managu