diff options
author | Ariya Hidayat <ariya.hidayat@nokia.com> | 2009-06-10 17:21:23 +0200 |
---|---|---|
committer | Ariya Hidayat <ariya.hidayat@nokia.com> | 2009-06-10 17:21:23 +0200 |
commit | 23e90c3d691282b08b339ab19974d4bc4e214588 (patch) | |
tree | dc54b77b280db04660e9facd204e841259a56b5c | |
parent | 7c7c0b593d6a3cb71807d356bcc9c3ba709b1e91 (diff) |
PyQt version of transparent QWebView.
-rw-r--r-- | transparentweb/transparentweb.py | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/transparentweb/transparentweb.py b/transparentweb/transparentweb.py new file mode 100644 index 0000000..735ab6a --- /dev/null +++ b/transparentweb/transparentweb.py @@ -0,0 +1,74 @@ +############################################################################# +## +## Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +## Contact: Qt Software Information (qt-info@nokia.com) +## +## This file is part of the Graphics Dojo project on Qt Labs. +## +## This file may be used under the terms of the GNU General Public +## License version 2.0 or 3.0 as published by the Free Software Foundation +## and appearing in the file LICENSE.GPL included in the packaging of +## this file. Please review the following information to ensure GNU +## General Public Licensing requirements will be met: +## http:#www.fsf.org/licensing/licenses/info/GPLv2.html and +## http:#www.gnu.org/copyleft/gpl.html. +## +## If you are unsure which license is appropriate for your use, please +## contact the sales department at qt-sales@nokia.com. +## +## This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +## WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +## +############################################################################# + +import sys + +from PyQt4.QtCore import * +from PyQt4.QtGui import * +from PyQt4.QtWebKit import * + +class Container(QWidget): + + def __init__(self): + + QWidget.__init__(self) + + self.view = QWebView(self) + + layout = QVBoxLayout(self) + self.setLayout(layout) + layout.addWidget(self.view) + + palette = self.view.palette() + palette.setBrush(QPalette.Base, Qt.transparent) + self.view.page().setPalette(palette) + self.view.setAttribute(Qt.WA_OpaquePaintEvent, False) + self.connect(self.view, SIGNAL("titleChanged(const QString&)"), + self.setWindowTitle) + + self.view.load(QUrl("http://en.mobile.wikipedia.org/")) + + self.resize(320, 480) + + def paintEvent(self, event): + + QWidget.paintEvent(self, event) + + p = QPainter(self) + p.fillRect(event.rect(), Qt.transparent) + p.setPen(Qt.NoPen) + p.setBrush(QColor(249, 247, 96)) + p.setOpacity(0.6) + p.drawRoundedRect(self.rect(), 10, 10) + p.end() + +if __name__ == "__main__": + + app = QApplication(sys.argv) + + w = Container() + w.setAttribute(Qt.WA_TranslucentBackground, True) + w.setWindowFlags(Qt.FramelessWindowHint) + w.show() + + sys.exit(app.exec_()) |