qt下listview增加一行数据

qt下listview增加一行数据,第1张

在Qt中,可以使用addItem()函数来增加一行数据到listview中。例如,你可以使用以下语句在listview中添加一行数据:

listView->addItem("1","2","3","4")

往QListView中添加条目需借助QAbstractListModel:如:MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow){ui->setupUi(this) QStringListModel* slm = new QStringListModel(this) QStringList* sl = new QStringList() sl->append("asdfsadfsa") sl->append("asdfsadfsa") sl->append("asdfsadfsa") slm->setStringList(*sl) ui->listView->setModel(slm) delete sl}而在QListWidget中添加条目可以直接additem如: QListWidget list list.setViewMode(QListWidget::IconMode ) list.setResizeMode(QListWidget::Adjust) list.setMovement(QListWidget::Static) for(int i =0i setData(Qt::DecorationRole, qApp->style()->standardPixmap(sp).scaled(QSize(16,16), Qt::KeepAspectRatio, Qt::SmoothTransformation) ) item->setData(Qt::DisplayRole,QObject::tr("Item %1").arg(i)) }我们可以通过信号和槽的方式对列表控件的选项进行响应,例如connect(list, SIGNAL(currentTextChanged(QString)), this, SLOT(setText(QString)))总之,QListWidget是继承QListView,QListView是基于model的,需要自己来建模(例如建立QStringListModel、QSqlTableModel等),保存数据,这样就大大降低了数据冗余,提高了程序的效率,但是需要我们对数据建模有一定了解,初学者就先不要考虑了,而QListWidget是一个升级版本的QListView,它已经自己为我们建立了一个数据存储模型(QListWidgetItem), *** 作方便,直接调用addItem即可添加项目(ICON,文字)。QListWidget或QListView内怎么添加QCheckBox

QListWidget可以显示一个清单,清单中的每个项目是QListWidgetItem的一个实例,每个项目可以通过QListWidgetItem来 *** 作。可以通过QListWidgetItem来设置每个项目的文字。

#include <QApplication>  

#include <QWidget>  

#include <QVBoxLayout>  

#include <QListWidget>  

#include <QListWidgetItem>  

int main(int argc, char** argv)  

{  

    QApplication app(argc, argv)  

    QWidget* widget = new QWidget  

    QListWidget* listWidget = new QListWidget  

    QVBoxLayout* layout = new QVBoxLayout  

    QListWidgetItem* lst1 = new QListWidgetItem("data1", listWidget)  

    QListWidgetItem* lst2 = new QListWidgetItem("data2", listWidget)  

    QListWidgetItem* lst3 = new QListWidgetItem("data3", listWidget)  

    listWidget->insertItem(1, lst1)  

    listWidget->insertItem(2, lst2)  

    listWidget->insertItem(3, lst3)  

    listWidget->show()  

    layout->addWidget(listWidget)  

    widget->setLayout(layout)  

    widget->show()  

    app.exec()     

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11512373.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存