2013-01-15 7 views

risposta

8

Qui si va:

from PyQt4 import QtGui, QtWebKit 
from PyQt4.QtCore import Qt, QSize 

class RoundWindow(QtWebKit.QWebView): 
    def __init__(self): 
     super(RoundWindow, self).__init__() 
     self.initUI() 

    def initUI(self): 
     self.setWindowFlags(Qt.FramelessWindowHint) 
     self.setAttribute(Qt.WA_TranslucentBackground) 

    def sizeHint(self): 
     return QSize(300,300) 

    def paintEvent(self, event): 
     qp = QtGui.QPainter() 
     qp.begin(self) 
     qp.setRenderHint(QtGui.QPainter.Antialiasing); 
     qp.setPen(Qt.NoPen); 
     qp.setBrush(QtGui.QColor(255, 0, 0, 127)); 
     qp.drawEllipse(0, 0, 300, 300); 
     qp.end() 

a = QtGui.QApplication([]) 
rw = RoundWindow() 
rw.show() 
a.exec_() 

Screenshot

Non ho mai scritto C++ nella mia vita, ma la lettura che esempio di codice non era così difficile. Scoprirai che la maggior parte della documentazione Qt online è in C++, quindi è utile almeno essere in grado di leggere.

+0

Grande pezzo di codice. Ma la domanda riguarda le forme _irregolari. Quale dovrebbe essere il codice se volessi utilizzare un file PNG personalizzato con trasparenza come informazioni sulla forma? – Tim

Problemi correlati