Qt 如何在QListWidget中设置所选项目?

Qt 如何在QListWidget中设置所选项目?,qt,qlistwidget,Qt,Qlistwidget,我正在使用下面的代码向listwidget添加两个项目。现在我想在listwidget中将“Weekend Plus”设置为选中的项目,我该怎么做 QStringList items; items << "All" << "Weekend Plus" ; ui->listWidgetTimeSet->addItems(items); QStringList项; 项目附加项(项目); 也许吧 ui->listWidgetTimeSe

我正在使用下面的代码向listwidget添加两个项目。现在我想在listwidget中将“Weekend Plus”设置为选中的项目,我该怎么做

QStringList items;    
items << "All" << "Weekend Plus" ;   
ui->listWidgetTimeSet->addItems(items);
QStringList项;
项目附加项(项目);
也许吧

    ui->listWidgetTimeSet->item(1)->setSelected(true);
也试试

    ui->listWidgetTimeSet->setCurrentRow(1);

你可以这样做:

QStringList items;
items << "All" << "Weekend Plus" ;
listWidgetTimeSet->addItems(items);
listWidgetTimeSet->setCurrentRow( 1 );
希望有帮助

编辑:

根据您的评论,我建议对项目视图使用编辑触发器。它允许您直接添加项目,只需键入要添加的内容,然后按return或enter键。您刚才添加的项目已被选中,现在作为项目显示在QListWidget中

listWidgetTimeSet->setEditTriggers( QAbstractItemView::DoubleClicked ); // example
有关更多信息,请参阅

如果你想在其他地方输入新项目,当然也有办法。假设您有一个行编辑,并使用您在其中输入的名称添加项目。现在,您需要将添加了该项的ListWidget更改为该新项。假设新项目位于最后一个位置(因为它是最后添加的),则可以将当前行更改为最后一行。(请注意,
count()


谢谢。现在假设我有一个文本框,当我在其中输入文本并说“添加到列表框”时,我希望我添加到列表框的文本应该被选中。您已经设置了当前项,而不是所选项。它们是不同的概念。当前项是通过制表符或光标操作移动的项。通过选择模型设置选择。
listWidgetTimeSet->setEditTriggers( QAbstractItemView::DoubleClicked ); // example
listWidgetTimeSet->setCurrentRow( listWidgetTimeSet->count() - 1 ); // size - 1 = last item