QListWidget从数据库循环加项目,同时默认选中某一行代码示例

QListWidget从数据库循环加项目,同时默认选中某一行代码示例(QT实战5)

 

列表控件QListWidge主要是通过包含一系列的QListWidgeItem项来进行显示,换句话说,列表控件QListWidge是QListWidgeItem项的集合。其中,列表控件QListWidge包含QListWidgeItem项主要用到函数void QListWidget:: insertItem(int row, QListWidgetItem *item);

下面代码演示从数据库循环加Item和添加自定义Item。

    query.first();

    for (int i = 0; i < rec; ++i)

    {

            QListWidgetItem *configItem = new QListWidgetItem(ui->listWidgetMX);

            configItem->setIcon(QIcon(":/image/add.png"));

            configItem->setText(query.value(0).toString()); 

            configItem->setTextAlignment(Qt::AlignLeft); 

            configItem->setToolTip(query.value(1).toString());

            configItem->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);

 

            ui->listWidgetMX->insertItem(i,configItem); 

        query.next();

    }

 

    QListWidgetItem *configItem = new QListWidgetItem();

    configItem->setIcon(QIcon(":/image/add.png"));

    configItem->setText("所有设备");

    configItem->setTextAlignment(Qt::AlignLeft);

    configItem->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);

 

    ui->listWidgetMX->insertItem(rec,configItem);

    //设置样式,直接在函数中设置

    ui->listWidgetMX->setStyleSheet("QListWidget{border:1px solid gray; color:white; }"

                               "QListWidget::Item:hover{background:skyblue; }"

                               "QListWidget::item:selected{background:lightgray; color:red; }"

                               "QListWidget::item:selected:!active{border-width:0px; background:lightgreen; }"

                               );

    //设置最后一行默认选中

    QListWidgetItem *item = ui->listWidgetMX->item(ui->listWidgetMX->count()-1);

    item->setSelected(true);

 

效果示例:

QListWidget从数据库循环加项目,同时默认选中某一行代码示例_第1张图片


备注:实战示例,解疑答惑。

           --不间端地思考,实时地批判你的工作!

你可能感兴趣的:(QT/C++,QT项目实战,qt5,c++)