gpt4 book ai didi

c++ - 从 MainWindow 移动到函数时替换 THIS

转载 作者:行者123 更新时间:2023-11-30 01:57:52 25 4
gpt4 key购买 nike

我已将以下代码从 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 现在给我带来了问题。我假设有替代方案,但我不知道它是什么?

希望有人能帮助我!

最佳答案

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

你需要这样定义它

void MainWindow::allFilters(QStringList list)

关于c++ - 从 MainWindow 移动到函数时替换 THIS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18080343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com