首页| 论坛| 消息

标题:gui 控件 new 时都不须指定 parent 吗?
作者:neeme
日期:2016-06-16 04:11
内容:

// .h
class ca : public QWidget
{
....
public:
QGridLayout*m_layout;
QLineEdit*m_name;
.....
}
// .cpp
ca::ca(...)
{
m_layout = new QGridLayout;
setLayout(m_layout);
m_name = new QLineEdit;
m_layout->addWidget(m_name);
}
ca::~ca()
{
}
请问以上可行吗? 在 delete ca 的实例时,系统会自动 delete m_name 吗?
谢谢!


#1 [马侬骑士 06-16 08:55]
是不必须的可以后指定parent,当然parent必须比你的child 先创建,由于QT的object是树形结构
setLayout(m_layout); // ca将自动成为m_layout的parent
m_layout->addWidget(m_name);; // m_layout将自动m_name成为的parent
在 delete ca 的实例时,会自动删除的

回复 发表
主题 版块