【发布时间】:2017-01-11 11:13:59
【问题描述】:
在 Qt 5.7.0 中使用 QObject 指针后,我应该删除它们吗?
例如,我得到了代码:
std::string login;
std::string password;
if (serviceId == 11) {
QObject* loginField = this->parent()->findChild<QObject*>("wifiLogintxt1");
QObject* passwordField = this->parent()->findChild<QObject*>("wifiPasswordtxt1");
login = loginField->property("text").toString().toStdString();
password = passwordField->property("text").toString().toStdString();
} else {
QObject* loginField = this->parent()->findChild<QObject*>("inputField1");
login = loginField->property("text").toString().toStdString();
}
代码会不会因为我们不删除QObject指针而导致内存泄露?
【问题讨论】:
-
不,不要在 Qt 中删除那些指针
-
指针应由其所有者删除。我想父小部件是您的
QObjects变量的所有者。所以你不应该删除它们。