• [^] # Re: petit bout de code

    Posté par (site web personnel) . En réponse au message Un bel OSD en python ?. Évalué à 1.

    j'efface le script de mon site donc je le mets pour référence:

    # -*- coding: latin1 -*-
    import sys
    from qt import *

    class Osd(QWidget):
    def __init__(self,text,delay = 3000):
    self.text = text
    self.delay = delay
    parent = None
    name = 'Osd'
    flags = Qt.WStyle_Customize | Qt.WStyle_NoBorder
    QWidget.__init__(self,parent,name,flags)
    self.setFixedSize(10,10)
    self.main()

    def main(self):
    self.show()
    QTimer.singleShot(self.delay,self.close)

    def paintEvent(self,qpe):
    p = QPainter()
    p.begin(self)
    p.setFont(QFont('Helvetica',24,QFont.Normal))
    fm = p.fontMetrics()
    w = fm.width(self.text)
    h = fm.height()
    self.setFixedSize(w+50,h+10)
    p.drawText(25,25,QString(self.text))
    # p.drawRoundRect(self.rect(),10,10)
    p.end()

    if __name__ == '__main__':
    app = QApplication(sys.argv)
    osd = Osd('Salut Xion345 !')
    app.setMainWidget(osd)
    app.exec_loop()