class MyDialog : public QDialog
{
public:
MyDialog(QListWidget * w)
: m_w(w)
{
m_layout = new QGridLayout(this);
m_layout.addWidget( w );
this->exec();
}
~MyDialog() {
m_layout->removeWidget( m_w );
}
private:
QGridLayout * m_layout;
QListWidget * m_w;
}
w также является дочерним элементом основного окна. Проблема в том, что когда объект MyDialog уничтожается, он также уничтожает w, тогда как он был удален в деструкторе MyDialog;
У вас есть лучшее решение, чем клонирование QListWidget w?