2016-05-09 9 views
0

QListWidgetのcsvドキュメントの入力リストがあり、各アイテムをIDに関連付けるので、特定のアイテムをダブルクリックすると設定できます。私はこの "QListWidgetItem * item = rowData;"を試してみましたが、エラーが出ました。コンストラクタで コード:Qt - QStringList to QListWidget * item

if (getin.open(QFile::ReadOnly)) { 

    //Collect all data from the file 
    items = getin.readAll(); 

    //Split all data line by line 
    rowOfData = items.split("\n"); 

    //Close csv document 
    getin.close(); 

} //Go through the data collected, and split them by two delimiters. 
for (int x = 0; x < rowOfData.size(); x++) 
{ 
    rowData = rowOfData.at(x).split(",").first().split(":"); 

    if(!rowData.isEmpty()) 
     ui->itemListWidget->addItem(rowData.first()); 
    QListWidgetItem *item = rowData; 

} 

項目がダブルクリックされたときのための機能:

void storage::on_itemListWidget_itemDoubleClicked(QListWidgetItem *item) 
{ 
itemwindow = new itemWindow(this); 
itemwindow->show(); 


} 
+0

設定するとどういう意味ですか?値を変更しますか? – Apin

+0

QStringListは異なる種類のデータ、カテゴリ、名前、日付を保持します。私は別のファイルで設定できるようにしたいと思います。 – giggitygoat

+0

'QListWidgetItem * item = rowData;で何を達成しようとしていますか? – thuga

答えて

0

私が答えることをしてみましょう。このエラーは、

QListWidgetItem *item = rowData; 

です。これは、rowDataが* QListWidgetitemではないためです。

rowOfDataという完全な行データを取得する場合は、次のスロットを使用できます。

void storage::on_itemListWidget_itemDoubleClicked(QListWidgetItem *item) 
{ 
    QString yourRowData = rowOfData.at(ui->itemListWidget->row(item)); 
    itemwindow = new itemWindow(this); 
    itemwindow->show(); 
} 
関連する問題