в Qt я открываю окна QDialog каждый раз, когда я щелкаю какой-либо элемент, я делаю это с новым, мне нравится быть уверенным, что я открываю только один экземпляр QDialog для каждого элемента, на который я нажимаю:
void foo::treeWidget_itemClicked(QTreeWidgetItem *item,nt column)
.....
QString groupID = item->data(0, Qt::UserRole).toString();
QString groupName = item->text(0);
GroupDialogContainer* pGroupDialogContainer = new GroupDialogContainer(groupID, groupName, this);
pGroupDialogContainer->show();
}
class GroupDialogContainer : public QDialog
{
Q_OBJECT
public:
GroupDialogContainer(QString GroupId,QString GroupName,QWidget *parent=0);
GroupDialogContainer(QWidget *parent=0);
virtual ~GroupDialogContainer();
Ui::GroupDialog ui;
public slots:
void closeEvent(QCloseEvent *event);
};
мне нужно сохранить какой-то хэш или вектор GroupDialogContainer? также мой второй вопрос: каждый раз, когда я закрываю окно QDialog с помощью close (), объект pGroupDialogContainer, который отвечал за его открытие, уничтожается? или мне нужно удалить его, когда я обнаружу, что QDIalog закрылся?