2011-06-06 31 views

Respuesta

13

Usted podría hacerlo de esta manera:

QStringList items; 
items << "All" << "Weekend Plus" ; 
listWidgetTimeSet->addItems(items); 
listWidgetTimeSet->setCurrentRow(1); 

Pero eso significaría que usted sabe que "Weekend Plus está en la segunda fila y debes recordar r eso, en caso de que otros artículos.

O lo haces de esa manera:

QListWidgetItem* all_item = new QListWidgetItem("All"); 
QListWidgetItem* wp_item = new QListWidgetItem("Weekend Plus"); 
listWidgetTimeSet->addItem(all_item); 
listWidgetTimeSet->addItem(wp_item); 
listWidgetTimeSet->setCurrentItem(wp_item); 

Espero que ayude.

EDIT:

De acuerdo con su comentario, se sugiere emplear la edición factores desencadenantes de las vistas de elementos. Le permite agregar elementos directamente con solo escribir lo que desea agregar y presionar la tecla regresar o ingresar. El elemento que acaba de agregar está seleccionado y ahora aparece como un elemento en el QListWidget.

listWidgetTimeSet->setEditTriggers(QAbstractItemView::DoubleClicked); // example 

Ver the docs para obtener más información.

Si desea introducir su nuevo artículo en otro lugar, también hay una forma de hacerlo. Supongamos que tiene una edición de línea y agrega el elemento con el nombre que ingresó allí. Ahora quiere que el widget de lista donde se ha agregado el elemento cambie a ese nuevo elemento. Suponiendo que el nuevo artículo está en la última posición (porque se agregó por última vez) puede cambiar la fila actual a la última fila. (Tenga en cuenta que count() cuenta además elementos ocultos si tiene alguno)

listWidgetTimeSet->setCurrentRow(listWidgetTimeSet->count() - 1); // size - 1 = last item 
+0

Gracias es work.Now Supongamos que tengo una caja y cuando entro en el texto que diga y lo añado se agrega al cuadro de lista ahora quiero que el texto ha agregado al cuadro de lista que se debe seleccionar. – user662285

+0

Ver mi publicación editada. – Exa

6

Tal

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

Pruebe también

ui->listWidgetTimeSet->setCurrentRow(1); 
Cuestiones relacionadas