2016-07-11 22 views
0

返回QtListWidget我正在尋找在函數中創建一個QListWidget,然後返回它。我得到這個錯誤:main.cpp:112:錯誤:無法將'lw'從'QListWidget *'轉換爲'QListWidget'返回lw; ^任何人都知道我做錯了什麼?如何從函數

我的功能:

頭:

private slots: 
    QListWidget create(); 

CPP

QListWidget Main::create(){ 

    QListWidget* lw = new QListWidget; 

    lw->addItem(new QListWidgetItem("one")); 
    lw->addItem(new QListWidgetItem("two")); 
    return lw; 
} 

回答

3

你的函數返回一個指針QListWidget,所以你必須這樣聲明它:

^h

QListWidget* create(); 

CPP

QListWidget* Main::create(){ 
///etc 
3

方法簽名應該是:

QListWidget* create(); 

也就是說,返回一個指針。您不能按價值返回QListWidget或任何其他不可複製的QObject

0

你只是能夠返回一個指向你的QListWidget的指針。您也可以嘗試通過函數中的參數來構建QListWidget。

void buildListWidget(QListWidget &aListWidget /*referenz to a QListWidget*/) 
{ 
    //add stuff to aListWidget 
} 

你的函數調用,如:

QListWidget list; 
buildListWidget(list); 
//use list