0
我正在修改現有的程序。我在類.h文件中:如何使用Qt的連接boost :: scoped_ptr <QWidget>
boost::scoped_ptr<QWidget> _widget;
我在.cpp文件的方法:
void FaceRecoWidget::createWidget()
{
_widget.reset(new QDialog);
QVBoxLayout* layout(new QVBoxLayout);
// some stuff...
// Now I want to add a 'Cancel' button. This I what I do:
QPushButton* cancel_button(new QPushButton("Cancel"));
// but next line won't compile because _widget is not a 'const QObject*'
connect(cancel_button, SIGNAL(clicked()), _widget, SLOT(reject()));
layout->addWidget(cancel_button);
_widget->setLayout(layout);
}
如何解決此得到什麼?
你不需要'scoped_ptr' this'作爲母:'_widget =新QDialog的(this);' –
爲什麼混合兩個內存所有權模型?您正在編寫Qt,使用分層所有權模型。 –