【问题标题】:Close the main window and open a new one - PyQt关闭主窗口并打开一个新窗口 - PyQt
【发布时间】:2012-10-17 19:11:00
【问题描述】:

在 PyQt 中,有什么方法可以关闭主窗口并打开一个新窗口?

特别是,我试图关闭一个窗口并重新打开同一个窗口。我已经尝试了所有我能想到的方法但没有成功(有些导致分段错误)。我需要这样做,因为新窗口将根据传递的参数具有一些功能。

【问题讨论】:

  • 发布您当前的代码。它会让事情更容易调试。
  • @Blender 好吧,经过很长时间的尝试,但巧合的是,在发布后不久,我就成功了……请问,我应该删除这个问题吗?
  • 您应该能够回答自己的问题。它对其他人有用。

标签: qt qt4 pyqt pyqt4


【解决方案1】:

嗯,不知何故,在发布后不久,我设法使它工作。代码如下:

class GameWindow(QtGui.QMainWindow):

def __init__(self, field_params):
    super(GameWindow, self).__init__()
    self.field_params = field_params

    #some code that ends up calling selectMode

    def selectMode(self):
        self.close()
        self.__init__(params)

def main():
    app = QtGui.QApplication(sys.argv)
    game_window = GameWindow()
    sys.exit(app.exec_())

【讨论】:

  • 这是一篇旧帖子,但它很有用,因为我处于同样的情况。我怎么能打电话给selectMode() 我试过self.selectMode() 但它说这个类没有selectMode。
  • 代码格式不正确,充其量只能提供不完整的信息。
【解决方案2】:

这个怎么样:

....
....

def selectMode( self ):
    self.close()
    self.field_params = params

    self.show()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-18
    • 2018-12-25
    • 2022-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多