Como definir um item em um QListWidget como destacado inicialmente?
-
26-12-2019 - |
Pergunta
Estou usando o QT 5.2 e tenho um QListWidget que exibe uma lista de Strings e quero que o primeiro item (em 0) seja inicialmente definido para ser destacado.Eu tentei o seguinte:
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);
Mesmo que o item esteja selecionado, ele não será destacado.Se, é claro, eu navegar até o item usando o mouse (clique) ou o teclado (tecla tab), ele será destacado, mas quero que seja destacado inicialmente sem usar o mouse ou o teclado.Como fazer isso?Desde já, obrigado.
Solução
Você só precisa definir o foco para a lista:
if (ui->listWidget->count() > 0) {
ui->listWidget->item(0)->setSelected(true);
}
ui->listWidget->setFocus();
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow