我使用下面的代碼將兩個項目添加到listwidget。現在我想將「Weekend Plus」設置爲listwidget中的選定項目,我該怎麼做?如何在QListWidget中設置所選項目?
QStringList items;
items << "All" << "Weekend Plus" ;
ui->listWidgetTimeSet->addItems(items);
我使用下面的代碼將兩個項目添加到listwidget。現在我想將「Weekend Plus」設置爲listwidget中的選定項目,我該怎麼做?如何在QListWidget中設置所選項目?
QStringList items;
items << "All" << "Weekend Plus" ;
ui->listWidgetTimeSet->addItems(items);
嘗試你既可以做這樣的:
QStringList items;
items << "All" << "Weekend Plus" ;
listWidgetTimeSet->addItems(items);
listWidgetTimeSet->setCurrentRow(1);
但是,這將意味着你知道「週末加在第二排,你需要記住r,如果你有其他物品。
或者你那樣做:
QListWidgetItem* all_item = new QListWidgetItem("All");
QListWidgetItem* wp_item = new QListWidgetItem("Weekend Plus");
listWidgetTimeSet->addItem(all_item);
listWidgetTimeSet->addItem(wp_item);
listWidgetTimeSet->setCurrentItem(wp_item);
希望有所幫助。
編輯:
根據您的意見,我建議使用編輯觸發器項目的意見。它允許你直接添加項目,只需輸入你想添加的項目,然後按回車或回車鍵即可。您剛添加的項目被選中,現在顯示爲QListWidget中的一個項目。
listWidgetTimeSet->setEditTriggers(QAbstractItemView::DoubleClicked); // example
請參閱the docs瞭解更多信息。
如果您想在其他地方輸入新項目,當然也有一種方法。比方說,你有一個行編輯,並添加你在那裏輸入的名稱的項目。現在你需要添加項目的ListWidget更改爲新項目。假設新項目位於最後一個位置(因爲它已被最後添加),您可以將當前行更改爲最後一行。 (注意:count()
也算隱藏的項目,如果您有任何)
listWidgetTimeSet->setCurrentRow(listWidgetTimeSet->count() - 1); // size - 1 = last item
也許
ui->listWidgetTimeSet->item(1)->setSelected(true);
也
ui->listWidgetTimeSet->setCurrentRow(1);
由於它的work.Now假設我有一個文本框,當我在輸入文字,並說加將其添加到列表框中,現在我想,我的文字已添加到應該選擇的列表框中。 – user662285 2011-06-06 09:50:35
看到我編輯的帖子。 – Exa 2011-06-06 10:15:00