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 に答える