我正在使用Qt 5.2,并且有一个Qlistwidget witch显示字符串列表,我希望最初设置第一项(0)以突出显示。我尝试了以下内容:

mUi->listWidget->setCurrentRow(0);
    mUi->listWidget->setCurrentItem(mUi->listWidget->item(0),QItemSelectionModel::Select);
    mUi->listWidget->currentItem()->setSelected(true);
    mUi->listWidget->selectionModel()->select(mUi->listWidget->model()->index(0,0, QModelIndex()),QItemSelectionModel::Select); 
.

即使选择该项目,也不突出显示。如果我正在使用鼠标(单击)或键盘(Tab键)导航到项目(标签键),则突出显示,但我希望它最初突出显示,而不使用鼠标或键盘。怎么做?提前致谢。

有帮助吗?

解决方案

您只需要将焦点设置为列表:

if (ui->listWidget->count() > 0) {
  ui->listWidget->item(0)->setSelected(true);
}
ui->listWidget->setFocus();
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top