0

我正在构建一个简单的应用程序,其中有一个按钮,单击该按钮时会打印 hello。

#!/usr/bin/python
# -*- coding: utf-8 -*-

import sys
from PyQt4 import QtGui, QtCore

class Example(QtGui.QMainWindow):
    def __init__(self):
        super(Example, self).__init__();
        self.initUI()


    def initUI(self):
        self.button = QtGui.QPushButton("print hello",self)
        self.button.clicked.connect(self.print_hello)

    def print_hello(self):
        self.button.deleteLater()
        self.label = QtGui.QLabel("hello",self)



def main():
    app = QtGui.QApplication(sys.argv)
    ex = Example()
    ex.show()
    sys.exit(app.exec_())

if __name__=='__main__':
    main()

现在,插槽 print_hello() 没有输出标签“hello”
为什么会发生这种情况?

4

1 回答 1

2

标签没有显示,因为虽然您已经创建了它,但您还没有告诉 GUI 显示它。例如,您可能希望在决定显示标签之前在后台对标签执行一些其他操作。

添加self.label.show()到 print_hello() 将使其可见。

于 2013-01-29T05:06:22.337 回答