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

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");
m_layerTreeView = new LayerTreeView();
LayerTreeViewMenuProvider* tttt = new LayerTreeViewMenuProvider(m_layerTreeView);
m_layerTreeView->setMenuProvider(tttt);
m_layerTreeView->setMenuProvider(new LayerTreeViewMenuProvider(m_layerTreeView));
m_layerTreeView->setModel(m_LayerTreeModel);
m_layerTreeView->setHeaderHidden(true);
m_layerTreeView->setStyleSheet(R"(
@ -1461,7 +1460,7 @@ void HPPA::onExit()
void HPPA::onOpenImg()
{
// 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())
return;

View File

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

View File

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