Ich mache in den letzten paar Wochen meine erste Gehversuche mit Python und überhaupt mit OOP. Ich habe nun ein Programm geschrieben, dass das Internet nach Covers zu einer Band durchsucht und runterlädt. Dies klappt eigentlich schon mehr oder weniger gut. Nun kommt jedoch der OOP Ansatz.
Ich habe in einem Modul mainWindow meine GUI untergebracht, die ein QGraphicsView Objekt namens grafik enthält, um das Bild anzuzeigen.
Im einem anderem Modul namens searcher dachte ich, schreibe ich ein Classe Resultat. Diese Klasse sollte ein paar Infos über Artist, Releasedatum, URL zum Bild usw enthalten.
Weiter sollte sie die Funktion haben, die Infos und das Bild anzuzeigen. Nun meine Frage. Wie kann ich von dieser Classe aus auf das grafik Objekt im mainWindow Modul zugreifen?
Um es etwas verständlicher zu machen:
Code: Alles auswählen
#Modul mainWindow
from PyQt4 import QtCore, QtGui
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
.
.
.
self.grafik = QtGui.QGraphicsView(self.anzeigewidget)
self.grafik.setObjectName("grafik")
.
.
.
Code: Alles auswählen
#searcher Modul
class Result(object):
def __init__(self):
self.artist = 'unbekannt'
self.title = 'unbekannt'
self.releaseDate = 'unbekannt'
self.smallImageURL = 'unbekannt'
self.largeImageURL = 'unbekannt'
def printInfo(self):
print 'Artist: %s' % self.artist
print 'Titel: %s' % self.title
print 'Release Datum: %s' % self.releaseDate
print ''
def displayCover(self):
self.scene = QtGui.QGraphicsScene()
self.scene.addPixmap(QtGui.QPixmap('/home/theo/Dokumente/covercatcher v0.2/Bilder/cover0.jpg'))
self.grafik.setScene(self.scene)
Andere Vorschläge, wie ich die Objekte anlegen könnte nehme ich natürlich gerne entgegen
Gruss spartacus