2013-08-06 15 views
1

時將此代替,我已將下列代碼從MainWindow構造函數移至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

它看起來像allFilters不是MainWindow內的成員函數。 this僅在非靜態成員函數內有效,因爲它指向對象的實例。

你需要定義它像

void MainWindow::allFilters(QStringList list) 
+0

這是這樣一個愚蠢的錯誤,使!我在所有其他函數中都包含了MainWindow ::,並且沒有在這裏。對不起,並感謝您指出。 – sark9012