Bild in widget

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
sevelen
User
Beiträge: 33
Registriert: Dienstag 4. August 2009, 07:34

Hallo zusammen,

folgende Frage. Ich habe bereits ein Programm was ich nun erweitern möchte. Und zwar ist in diesem Hauptprogramm eine QTGUI welche mir einen speicherplatz zur Verfügung stellt. In diesen Speicherplatz möchte ich gerne ein Bild (JPG) darstellen.
Den eigentlichen code um ein bild anzuzeigen habe ich auch bereits gefunden.

Code: Alles auswählen

import sys, os 
from PyQt4 import QtGui, QtCore 

class MyWidget(QtGui.QWidget): 
    def __init__(self,  parent=none): 
        QtGui.QWidget.__init__(self,  parent) 
        self.pixfile = 'c:\\bild.jpg' 
        self.pix = QtGui.QPixmap(self.pixfile) 
        self.pix.mtime = os.path.getmtime(self.pixfile) 
        self.timer = QtCore.QTimer(self) 
        self.connect(self.timer, QtCore.SIGNAL('timeout()'), 
                     self.checkPixmap) 
        self.timer.start(2000) 
    
    def paintEvent(self, event): 
        p = QtGui.QPainter(self) 
        p.drawPixmap(QtCore.QRect(100, 0, self.pix.width(), self.pix.height()), 
                     self.pix) 
    
    def checkPixmap(self): 
        last_change = os.path.getmtime(self.pixfile) 
        if self.pix.mtime < last_change: 
            self.pix.mtime = last_change 
            self.pix.load(self.pixfile) 
            self.update() 

if __name__ == "__main__": 
    app = QtGui.QApplication(sys.argv) 
    w = MyWidget() 
    w.show() 
    sys.exit(app.exec_())
Jetzt habe ich zwei Fragen

1) Irgenwie würde ich gerne dieser Klasse den Ort wo sie das Bild hinmalen soll beim aufrufen mitgeben. Wie mache ich das praktisch?

2) Von welchem typ müsste dieser Speicherplatz sein QWidget QFrame?

Ich hoffe mich kann jemand mit ein paar codezeilen auf den rechten weg stoßen :-)

Danke schonmal
Antworten