如何在QListWidget中设置最初突出显示的项目?

时间:2014-04-14 16:21:27

标签: qt highlight qlistwidget

我正在使用QT 5.2并且让QListWidget显示一个字符串列表,我希望第一个项目(在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键)导航到该项目,它会突出显示但我希望它最初不使用鼠标或键盘突出显示。怎么做?提前谢谢。

1 个答案:

答案 0 :(得分:5)

您只需将焦点设置到列表中:

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