【问题标题】:How to hide a window in the constructor immediately after creation?创建后如何立即在构造函数中隐藏窗口?
【发布时间】:2018-03-21 12:30:17
【问题描述】:

我想在创建窗口后立即隐藏它。仅当我在按钮或其他东西的帮助下执行此操作时才有效。

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()

【问题讨论】:

    标签: python pyqt


    【解决方案1】:

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

    example = Example()
    example.show()
    

    阅读有关hide()show() 的答案:What's the difference in Qt between setVisible, setShown and show/hide

    【讨论】:

      【解决方案2】:

      你可以使用 QtCore.QTimer

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-09-30
        • 2011-01-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-18
        • 1970-01-01
        • 2013-02-22
        相关资源
        最近更新 更多