我一直在检查Qt BarChart示例,我注意到动态分配的变量根本没有删除,为什么?我尝试复制这个例子的想法,然后在布局中使用,并在plainTextEditor中显示图表。但是,我想在显示图表时删除这些动态分配的变量,但我不知道何时何地删除它们。我试图在函数结束时删除它们,但它不会在plainTextEditor上显示任何内容。我不想将这些动态分配的变量定义为成员变量,并在析构函数中删除它们。
以下是我从Qt文档中获得的示例
<style>
<?php include './css/style.css'; ?>
</style>
答案 0 :(得分:2)
在Qt中,某些功能被指定为拥有所有权,形成父/子关系。父母在被摧毁时将其删除。
根据您显示的示例,series
是set0
到set4
的父级(来自对series->append
的调用)。 chart
是axis
和series
(来自chart->setAxisX
)的父级。 chartView
是chart
的父级(来自其构造:QChartView *chartView = new QChartView(chart)
)。最后window
是chartView
的父级(来自window.setCentralWidget
)。由于window
不是指针,而是具有自动存储持续时间的实际QMainWindow
对象,因此它将在范围的末尾被销毁,并将其所有后代与其一起使用。