我已将以下代码从MainWindow构造函数移动到MainWindow中的函数。
void allFilters(QStringList list){
QWidget *w = new QWidget(this);
w->setFixedSize(300,200);
QVBoxLayout *vbox = new QVBoxLayout;
foreach(QString filt, list){
QCheckBox *checkbox = new QCheckBox(filt, this);
checkbox->setChecked(true);
vbox->addWidget(checkbox);
connect(checkbox, SIGNAL(stateChanged(int)), this, SLOT(cbstate(int)));
}
w->setLayout(vbox);
w->show();
}
this
现在给我带来了麻烦。我假设有另一种选择,但我不知道它是什么?
希望有人可以帮助我!
答案 0 :(得分:4)
看起来allFilters不是MainWindow中的成员函数。 this
仅在非静态成员函数中有效,因为它指向对象的实例。
您需要将其定义为
void MainWindow::allFilters(QStringList list)