解决昨天代码问题:内存泄露

This commit is contained in:
tangchao0503
2026-03-06 15:52:39 +08:00
parent 7f94513a16
commit 4ad5c8b91e
3 changed files with 8 additions and 4 deletions

View File

@ -239,8 +239,7 @@ sizePolicy1.setHeightForWidth(graphicsView_delete->sizePolicy().hasHeightForWidt
//model->addLayer(g2, "Rivers"); //model->addLayer(g2, "Rivers");
m_layerTreeView = new LayerTreeView(); m_layerTreeView = new LayerTreeView();
LayerTreeViewMenuProvider* tttt = new LayerTreeViewMenuProvider(m_layerTreeView); m_layerTreeView->setMenuProvider(new LayerTreeViewMenuProvider(m_layerTreeView));
m_layerTreeView->setMenuProvider(tttt);
m_layerTreeView->setModel(m_LayerTreeModel); m_layerTreeView->setModel(m_LayerTreeModel);
m_layerTreeView->setHeaderHidden(true); m_layerTreeView->setHeaderHidden(true);
m_layerTreeView->setStyleSheet(R"( m_layerTreeView->setStyleSheet(R"(
@ -1461,7 +1460,7 @@ void HPPA::onExit()
void HPPA::onOpenImg() void HPPA::onOpenImg()
{ {
// 1) 弹出文件对话框获取uri // 1) 弹出文件对话框获取uri
QString uri = QFileDialog::getOpenFileName(this, tr("Open Image"), QString(), tr("Raster Files (*.bil *.hdr *.tif *.tiff *.img *.raw);;All Files (*)")); QString uri = QFileDialog::getOpenFileName(this, tr("Open Image"), QString(), tr("Raster Files (*.bil *.bip *.tif *.tiff *.img *.bsq);;All Files (*)"));
if (uri.isEmpty()) if (uri.isEmpty())
return; return;

View File

@ -8,6 +8,11 @@ LayerTreeView::LayerTreeView(QWidget* parent)
{ {
} }
LayerTreeView::~LayerTreeView()
{
delete m_menuProvider;
}
void LayerTreeView::setMenuProvider(LayerTreeViewMenuProvider* provider) void LayerTreeView::setMenuProvider(LayerTreeViewMenuProvider* provider)
{ {
m_menuProvider = provider; m_menuProvider = provider;

View File

@ -8,7 +8,7 @@ class LayerTreeView : public QTreeView
{ {
public: public:
explicit LayerTreeView(QWidget* parent = nullptr); explicit LayerTreeView(QWidget* parent = nullptr);
~LayerTreeView() override = default; ~LayerTreeView() override;
void setMenuProvider(LayerTreeViewMenuProvider* provider); void setMenuProvider(LayerTreeViewMenuProvider* provider);