C++ 如何使用Qt';s使用boost::scoped_ptr<;QWidget>;

C++ 如何使用Qt';s使用boost::scoped_ptr<;QWidget>;,c++,qt,boost,C++,Qt,Boost,我正在修改一个现有的程序。我在class.h文件中有: boost::scoped_ptr<QWidget> _widget; 如何解决这个问题?connect接受指针,因此您应该传递存储在boost::scoped_ptr中的原始指针: connect(cancel_button, SIGNAL(clicked()), _widget.get(), SLOT(reject())); 如果将this设置为父级:\u widget=new QDialog(this),则不需要sco

我正在修改一个现有的程序。我在class.h文件中有:

boost::scoped_ptr<QWidget> _widget;

如何解决这个问题?

connect
接受指针,因此您应该传递存储在
boost::scoped_ptr
中的原始指针:

connect(cancel_button, SIGNAL(clicked()), _widget.get(), SLOT(reject()));

如果将
this
设置为父级:
\u widget=new QDialog(this),则不需要
scoped\u ptr
为什么混合使用两种内存所有权模型?在编写Qt时,请使用分层所有权模型。
connect(cancel_button, SIGNAL(clicked()), _widget.get(), SLOT(reject()));