2013-05-15 39 views
0

我实例化一个QMessageBox提示,并增加了几个按钮,以它像这样:释放内存为QPushButtons与QMessageBox提示

QMessageBox message; 
cancelButton = message.addButton(tr("Cancel"), QMessageBox::RejectRole); 
okButton = message.addButton(tr("OK"), QMessageBox::ActionRole); 

是否有必要退出之前调用每个按钮的析构函数,或者做了QMessageBox提示析构函数照顾一切?

+2

我希望你不应该。 – chris

回答

4

编号

父母对象被删除时,他们删除他们的孩子。 所以这些按钮将被删除,当'消息'是。

+0

感谢您的帮助。我仍然不确定这些Qt对象如何管理内存。这比我通常做的要抽象一些。 – sj755

+0

另一个答案不同意你的看法。我不确定应该同意。 – sj755

+0

@ sj755 QMessageBox应该删除按钮本身。它里面有一个buttonBox,它将拥有你添加到它的按钮的所有权。 – thuga