我不确定此问题是否曾经被问过,但我已经搜索了一堆,也许我使用了错误的关键字。我也用谷歌搜索过,但我想我想要一个更具体的答案。
我的问题涉及几乎所有PyQt4类文档中的以下行
父参数(如果不是None)会导致自己被Qt拥有 而不是PyQt。
构建一个父母对话框。
对话框始终是顶级窗口小部件,但如果它具有父级,则为 默认位置居中于父级之上。它也将分享 父母的任务栏条目。
我想明白这意味着什么。据我所知,它与对象在内存中的存在方式以及它与Python的垃圾收集的交互方式有关。
为了更具体一点,说我有一个QMainWindow,我把它作为QDialog的父亲传递。即某处我有这样的功能
def ShowFooDialog():
dlg = FooDialog()
if dlg.exec_():
--doSomeStuff--
与以下
之间有什么区别def ShowFooDialog():
dlg = FooDialog(parent=MyMainWindow)
if dlg.exec_():
--doSomeStuff--
谢谢!如果这是通过更好地阅读PyQt4文档可以找到的东西,我提前道歉!