如何在创建后立即隐藏构造函数中的窗口?

时间:2018-03-21 12:30:17

标签: python pyqt

我想在创建窗口后立即隐藏它。只有在按钮或其它东西的帮助下才能使用它。

class Example(QWidget):
    def __init__(self, parent=None):
        super(Example, self).__init__(parent)
        self.hide() # doesn't work
        self.btn = QPushButton('Hide', self)
        self.btn.clicked.connect(self.click) # works
        self.btn.show()

    def click(self): # works
        self.hide()

2 个答案:

答案 0 :(得分:0)

显然,代码似乎应该有效。可能发生的是您在创建对象后调用show()。例如:

example = Example()
example.show()

阅读关于hide()show()What's the difference in Qt between setVisible, setShown and show/hide

的回答

答案 1 :(得分:0)

您可以使用QtCore.QTimer

class Example(QWidget):
    def __init__(self, app):
        QWidget.__init__(self)
        QTimer.singleShot(0, self.hide)