私がここでやっているのは、デフォルトの動作を継承したカスタムウィジェットをQWidget
に作成することです。PyQt5で変数に割り当てられたウィジェットインスタンスが必要なのはなぜですか?
from PyQt5.QtWidgets import QApplication, QWidget
import sys
from PyQt5.QtGui import QIcon
class CustomWidget(QWidget):
def __init__(self):
super().__init__()
self.setUI()
def setUI(self):
self.setGeometry(300,300,0,0)
self.setWindowTitle('CustomWidget')
self.setWindowIcon(QIcon('icon.png'))
self.show()
次に、インスタンスの作成の一部となります。次のスニペットで初期化して実行すると、ウィジェットは私には見えません。
if __name__ == "__main__":
app = QApplication(sys.argv)
CustomWidget() <----------------------This line creates the problem
sys.exit(app.exec_())
しかし、
somevalue = CustomWidget()
そして、
_ = CustomWidget()
私の質問は、なぜPyQtは、この動作を示しているのですか?なぜ私は後でそれを使用しない場合でも、いくつかの変数にインスタンスを割り当てる必要がありますか?
答えをありがとう。 –