如果 functools.partial 未使用,则不显示 QMainWindow
QMainWindow not shown if functools.partial not used
我在父 QMainWindow
中点击按钮后显示第二个 QMainWindow
def on_click(self):
window = second_window.MainWindow()
window.show()
第二个 window 未显示(没有任何错误)。但是如果在 Second window 我添加行:
self.func = functools.partial(self.some_func)
所有工作正确。
为什么会这样?
我认为这里的问题是您将 window
创建为 on_click
范围内的局部变量。一旦 on_click
完成,window
属性将被销毁。
尝试将 window 存储在实例变量中:
def on_click(self):
self._window = second_window.MainWindow()
self._window.show()
functools.partial
方法可能有效只是因为您已经将其存储在实例中。
我在父 QMainWindow
QMainWindow
def on_click(self):
window = second_window.MainWindow()
window.show()
第二个 window 未显示(没有任何错误)。但是如果在 Second window 我添加行:
self.func = functools.partial(self.some_func)
所有工作正确。
为什么会这样?
我认为这里的问题是您将 window
创建为 on_click
范围内的局部变量。一旦 on_click
完成,window
属性将被销毁。
尝试将 window 存储在实例变量中:
def on_click(self):
self._window = second_window.MainWindow()
self._window.show()
functools.partial
方法可能有效只是因为您已经将其存储在实例中。