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 に答える