Domanda

Sto usando QT 5.2 e ho un witch QListWidget visualizza un elenco di stringhe e voglio che il primo elemento (a 0) sia inizialmente impostato da essere evidenziato.Ho provato quanto segue:

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); 
.

Anche se l'elemento se è selezionato, non è evidenziato.Se del tutto vado all'elemento utilizzando il mouse (click) o la tastiera (tasto Tab) è evidenziato ma voglio che sia evidenziato inizialmente senza utilizzare mouse o tastiera.Come farlo?Grazie in anticipo.

È stato utile?

Soluzione

Hai solo bisogno di impostare la messa a fuoco nell'elenco:

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top