[PyKDE] Issue with QDialog and lifetime
Giovanni Bajo
rasky at develer.com
Thu May 26 13:16:56 BST 2005
Toby Dickenson <tdickenson at devmail.geminidataloggers.co.uk> wrote:
>> class QDialog2(QDialog):
>> def __init__(self, parent=0, name=0, modal=False, flags=0)
>> QDialog.__init__(self, parent, name, modal, flags |
>> Qt.WDestructiveClose)
Actually, for my project, I'm better off with:
class QDialog2(QDialog):
def __init__(self, parent=0, name=0, modal=False, flags=0)
if modal:
flags |= Qt.WDestructiveClose
QDialog.__init__(self, parent, name, modal, flags)
Becuase modeless dialogs really need their ownership to be transferred to
the parent.
> That works, but Im not sure I would recommend it. It leads to a bigger
change
> should you ever need to access the dialog after it has been closed. (or,
more
> likely, the value of a control widget on the dialog)
Notice that WDestructiveClose does not collect the Python object (of
course). So you can easily do something like:
class MyDialog(QDialog2):
# bla bla
def accept(self):
self.value = self.lineedit.text()
and then later access that string.
--
Giovanni Bajo
More information about the PyQt
mailing list