我正在构建一个简单的应用程序,其中有一个按钮,单击时会打印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”
为什么会这样?
答案 0 :(得分:2)
标签未显示,因为虽然您已创建它,但您还没有告诉GUI显示它。例如,您可能希望在决定显示之前在后台标签上执行其他操作。
将self.label.show()
添加到print_hello()会使其可见。