我想问的是,按道理下面第一个和第三个最终显示的效果应该是一样的吧?为什么却出现了不一样的效果?
个人认为,三个例子的效果应该是一样的,因为text都是局部变量,当函数执行完毕,就over了,三个页面都不可能被保留下来!为什么第一和第二的页面还能保留下来呢?
注:tabWidget是类HText的成员
---------------------------------
void HText::HTextAddText()
{
QTextEdit *text=new QTextEdit;
text->setPlainText("123456");
this->tabWidget->addTab(text,"new");
}
上面是我的一个槽函数,按下钮按调用这个槽函数,上面执行后的实际效果是:的确tabWidget增加了一个页面,而且页面是一个TextEdit,内容是123456
----------------------------------
再看看以下代码效果(代码写在HText的构造函数里):
QTextEdit *text=new QTextEdit;
text->setPlainText("123456");
this->tabWidget->addTab(text,"new");
实际效果和上面一样,页面保留下来,显示内容是123456
----------------------------------
最后看看这个,(代码写在HText的构造函数里):
QTextEdit *text=new QTextEdit;
text->setPlainText("123456");
this->tabWidget->addTab(text,"new");
delete text;
实际效果:但是,这里却出现了意外的效果,页面不见了,和上面两例子不一样!!!!
---------------------------------
[ 此帖被iiiyyyhhhsss在2009-09-17 15:55重新编辑 ]