Text in Qimage setzen

Alles rund um die Programmierung mit Qt
Antworten
Tomek
Beiträge: 9
Registriert: 1. Dezember 2010 16:26

Text in Qimage setzen

Beitrag von Tomek »

ich habe ein QLabel dass ein QImage (eine png-Datei) enthält.

Jetzt möchte ich ÜBER das dargestellte Bild einen Text setzen. Z.b. die Zahl "1".

Ich habe mit Hilfe von paintEvent drawText() aufgerufen. Es funktionier aber der Text wird von der Grafik überlagert und ist nicht sichtbar. Hat jemand eine Idee wie ich das ändern kann?
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Das Entscheidende ist nicht DASS du paintEvent implementierst, sondern das WIE. Und hier machst du den entscheidenden Fehler, recht wahrscheinlich rufst du die paintEvent-Implementierung von QLabel nach deinen Malaktionen auf, du solltest sie aber vorher aufrufen.
Tomek
Beiträge: 9
Registriert: 1. Dezember 2010 16:26

Beitrag von Tomek »

Ich implementiere die malaktion in das paintEvent. Ich habe auch schon versucht die Reihenfolge zu verändern, aber es hat nichts geholfen.

Hier der Code in PyQt:

Code: Alles auswählen

class analysetool2(QtGui.QMainWindow):
    def __init__(self, parent=None):
        QtGui.QMainWindow.__init__(self)
        
        self.main_widget = QtGui.QWidget()              #The Main Widget 
        self.setCentralWidget(self.main_widget)
        self.text = "TEXT"
        
        self.label = QtGui.QLabel(self.main_widget)

        self.image = QtGui.QImage("c:\Tomek\Grafiken\web.png")
        self.label.setPixmap(QtGui.QPixmap.fromImage(self.image))
        
        self.showMaximized()

    def paintEvent(self, event):

        qp = QtGui.QPainter()
        qp.begin(self)
        self.drawText(event, qp)
        qp.end()

    def drawText(self, event, qp):
      
        qp.setPen(QtGui.QColor(168, 34, 3))
        qp.setFont(QtGui.QFont('Decorative', 30))
        qp.drawText(100, 100, self.text)
[/code]
Antworten