我使用下面的代码将两个项目添加到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