在PyQt4(python)中单击按钮时如何将文本字符串显示为标签?

时间:2017-05-20 12:00:14

标签: python python-3.x pyqt pyqt4

我是使用PyQt创建应用程序的新手。我的问题可能很愚蠢,但请耐心等待。 我编写了一个代码,在单击按钮时将文本字符串显示为标签。我没有得到输出。请告诉我错误是什么,如何纠正?

import sys
from PyQt4 import QtGui,QtCore

class Window(QtGui.QMainWindow):

    def __init__(self):
        super(Window,self).__init__()
        self.setGeometry(100,100,600,600)
        self.setWindowTitle("healapp")
        self.pbtn()


    def pbtn(self):

        btn1=QtGui.QPushButton('hi',self)
        btn1.move(100,100)
        btn1.clicked.connect(self.buttnpress)


    def buttnpress(self):
        labl=QtGui.QLabel(self)
        labl.setText("clicked")



def main():
    app=QtGui.QApplication(sys.argv)
    GUI=Window()
    GUI.show()
    sys.exit(app.exec_())


main()

1 个答案:

答案 0 :(得分:0)

尝试将标签初始化labl=QtGui.QLabel(self)移至__init__方法:

def __init__(self):
    super(Window,self).__init__()
    self.setGeometry(100,100,600,600)
    self.setWindowTitle("healapp")
    self.pbtn()
    self.labl=QtGui.QLabel(self)

然后相应地修改buttnpress()

def buttnpress(self):
    # you can move it if you like
    self.labl.move(100,200)
    self.labl.setText("clicked")