Tabla de contenido
5.Cambiar el contenido del objeto
En el marco Qt, QListWidget es una clase de widget que se utiliza para mostrar vistas de lista. Proporciona una manera conveniente de mostrar y administrar listas de proyectos. QListWidget puede mostrar texto, imágenes y otros elementos personalizados y permitir a los usuarios seleccionarlos e interactuar con ellos.
QListWidget se puede utilizar para crear funciones similares a exploradores de archivos, listas de reproducción, menús, etc. Puede mostrar elementos en forma de lista y admite múltiples operaciones, como agregar, eliminar, mover, seleccionar y editar elementos.
Las siguientes son algunas de las principales características y uso de QListWidget:
Mostrar una lista de elementos: QListWidget puede mostrar una lista de elementos y cada elemento puede contener texto, imágenes u otros widgets personalizados.
Operaciones de selección: el usuario puede seleccionar elementos de la lista utilizando el ratón o el teclado. Puede configurar el modo de selección, como selección única, selección múltiple o selección extendida.
Operaciones interactivas: QListWidget admite operaciones interactivas comunes, como hacer doble clic, hacer clic con el botón derecho y arrastrar y soltar. Puede capturar estos eventos de interacción y tomar las acciones adecuadas según sea necesario.
Operaciones de edición: QListWidget permite a los usuarios editar el contenido de texto de los elementos. El modo de edición se puede habilitar manualmente o iniciar automáticamente para que el usuario pueda editar el proyecto.
Mecanismo de señal y ranura: QListWidget proporciona notificación de varios eventos y operaciones a través del mecanismo de señal y ranura. Puede conectarse a estas señales y realizar acciones personalizadas según sea necesario.
En resumen, QListWidget es un widget Qt flexible y fácil de usar para mostrar y administrar listas de elementos en su aplicación. Proporciona una gran cantidad de funciones y operaciones para satisfacer diversas necesidades de interacción y visualización de listas.
QLabel *label = new QLabel;
label->setFixedWidth(100);
QListWidget *listWidget = new QListWidget;
listWidget->addItem(new QListWidgetItem(QIcon(QObject::tr("images/china.png")),
QObject::tr("China")));
listWidget->addItem(new QListWidgetItem(QIcon(QObject::tr("images/hk.png")),
QObject::tr("Hong Kong")));
listWidget->addItem(new QListWidgetItem(QIcon(QObject::tr("images/macau.png")),
QObject::tr("Macau")));
QHBoxLayout *mainlayout = new QHBoxLayout;
mainlayout->addWidget(listWidget);
mainlayout->addWidget(label);
QObject::connect(listWidget, SIGNAL(currentTextChanged(QString)), label,
SLOT(setText(QString)));
Otras funciones utilizan:
1. Agregar objetos
QString listString = ui->lEditUserName->text() + "\n"+ui->lEditChipID->text();
QListWidgetItem *item = new QListWidgetItem(QIcon(":/images/images/user.png"),
listString);
ui-> listWidget->addItem(item);
2. Establecer el espaciado
ui->listWidget->setIconSize(QSize(50,50));
3. Obtén contenido
QString str = ui->listWidget->item(currentRow)->text(); //获取当前行的内容
QStringList listStr = str.split('\n');
currentUserName = listStr.at(0);
currentChipID = listStr.at(1);
ui->lEditUserName->setText(currentUserName);
ui->lEditChipID->setText(currentChipID);
4. Eliminar objetos
QListWidgetItem* item = ui->listWidget->takeItem(currentWidgetRow); //删除当前
行
delete item;
ui->listWidget->update(); //更新显示
5.Cambiar el contenido del objeto
if(ui->listWidget->currentItem()!=Q_NULLPTR){
QString listString = newUserName + "\n"+currentChipID;
ui->listWidget->currentItem()->setText(listString);
}
¡Finalizar! ! !