1

我已将以下代码从 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现在给我带来了问题。我认为有另一种选择,但我不知道它是什么?

希望有人可以帮助我!

4

1 回答 1

4

看起来 allFilters 不是 MainWindow 中的成员函数。 this仅在非静态成员函数中有效,因为它指向对象的实例。

你需要像这样定义它

void MainWindow::allFilters(QStringList list)
于 2013-08-06T12:36:43.553 回答