mcseth antwi
mcseth antwi

Reputation: 131

Displaying an image on pyqt

I'm trying to display an image in pyqt for my coursework. I'm attempting this in the Handle Question sub routine. here's a sample of it

class IntegrationQuestions(QtGui.QMainWindow):
    def __init__(self, parent = None):
        from equation import IntQuestion, IntAnswer
        QtGui.QDialog.__init__(self, parent)
        self.setWindowTitle('Simple Integration')
        self.setMinimumSize(265,400)

        self.lbl1 = QtGui.QLabel("Integrate the equation below",self)
        self.lbl1.move(0,0)
        self.lbl1.resize(200,20)

        self.lbl2 = QtGui.QLabel(pretty(IntQuestion[0], use_unicode = False), self)
        self.lbl2.resize(200, 80)
        self.lbl2.move(30,30)

        self.lbl3 = QtGui.QLabel("Sketch pad",self)
        self.lbl3.move(0,120)

        self.SketchPad = QtGui.QLineEdit(self)
        self.SketchPad.resize(250,150)
        self.SketchPad.move(0,150)

        self.lbl4 = QtGui.QLabel("Answer",self)
        self.lbl4.move(0,300)

        self.Answer = QtGui.QLineEdit(self)
        self.Answer.move(0,330)
        self.Answer.resize(250,20)


        self.next_question.clicked.connect(self.HandleQuestion)

this is where I'm attempting to add in a question

    def HandleQuestion(self):
        pic = QtGui.QLabel(self)
        pic.setPixmap(QtGui.QPixmap("Q107.png"))

        self.lbl3.move(0,190)
        self.SketchPad.resize(250,80)
        self.SketchPad.move(0,220)

Upvotes: 4

Views: 43226

Answers (1)

Shawnic Hedgehog
Shawnic Hedgehog

Reputation: 2373

You initialized everything properly, however you never set the label to be shown.

def HandleQuestion(self):
    pic = QtGui.QLabel(self)
    pic.setPixmap(QtGui.QPixmap("Q107.png"))

    pic.show() # You were missing this.

    self.lbl3.move(0,190)
    self.SketchPad.resize(250,80)
    self.SketchPad.move(0,220)

Upvotes: 10

Related Questions