简单的来实习了下
 #include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QListWidget>
#include<QDebug>
#include<QPushButton>
#include<QLineEdit>
#include <QListWidgetItem>
#include<QIcon>
#include<QSize>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QIcon Icon = QIcon(":/image/icon-eye.png");
for(int i=;i<;i++)
{
// ui->listWidget->addItem(QString("%1").arg(i)); //只简单的添加文本数据的
// QListWidgetItem* Item = new QListWidgetItem(QString("%1").arg(i)); //通过QListWidgetItem 添加文本数据的
if(Icon.isNull())
{
qDebug()<<""<<endl;
}
QListWidgetItem * IconItem = new QListWidgetItem(Icon,QString("%1").arg(i),ui->listWidget);//通过 QListWidgetItem添加文本以及Icon数据的
ui->listWidget->addItem(IconItem);
}
QIcon winIcon = QIcon(":/image/guanbi.png");
if(!winIcon.isNull())
{
qDebug()<<winIcon<<endl;
this->setWindowIcon(winIcon);
}
connect(ui->listWidget,&QListWidget::currentRowChanged,[=](int curindex){
qDebug()<<curindex<<endl;
});
connect(ui->pushButton,&QPushButton::pressed,[this](){
int index = ui->lineEdit->text().toInt();
qDebug()<<index<<endl;
ui->listWidget->setCurrentRow(index);
});
} MainWindow::~MainWindow()
{
delete ui;
}

QListWidget类提供了一个基于项目的列表小部件。

QListWidget是一个方便类,它提供了类似于QListView提供的列表视图,但是提供了一个用于添加和删除条目的经典的基于项目的接口。QListWidget使用一个内部模型来管理列表中的每个QListWidgetItem。

对于一个更灵活的列表视图小部件,使用标准模型的QListView类。

列表小部件的构造方式与其他小部件相同:

  QListWidget *listWidget = new QListWidget(this);

一个列表小部件的selectionMode()决定了列表中可以同时选择列表中的多少项,以及是否可以创建复杂的项。可以使用setSelectionMode()函数设置此功能。

有两种方法可以将条目添加到列表中:可以用列表小部件构造它们作为它们的父小部件,也可以用不包含父小部件的方式构造它们,并在以后添加到列表中。如果在构建项目时已经存在一个列表小部件,那么第一个方法就更容易使用:

如果您需要在特定位置插入一个新项目,那么应该在没有父部件的情况下构造它。然后应该将insertItem()函数用于将其放置在列表中。列表小部件将获得该项目的所有权

  QListWidgetItem *newItem = new QListWidgetItem;
newItem->setText(itemText);
listWidget->insertItem(row, newItem);

对于多个项目,可以使用insert titems()。列表中的条目的数量是通过count()函数找到的。要从列表中删除项目,请使用remove item()。

列表中的当前项可以使用curr有权()找到,并使用setcurr有权()进行更改。用户还可以通过键盘导航或单击不同的条目来更改当前项。当当前项更改时,将使用新的当前项和先前当前的项来释放currentItemChanged()信号。

Qt listWidget和QListWidgetItem的简单使用的更多相关文章

  1. C/C++ Qt ListWidget 列表框组件应用

    ListWidget列表框组件,该组件与TreeWidget有些相似,区别在于TreeWidget可以实现嵌套以及多字段结构,而ListWidget组件则只能实现单字段结构,ListWidget组件常 ...

  2. qt坐标系统与布局的简单入门

     qt坐标系统 qt坐标系统比較简单 ); 上面的代码把button显示为父窗体的20,20处宽度为100,高度为100 接下去是布局 qt里面布局须要增加<QLayout.h>这个头 ...

  3. Qt中QScrollArea类的简单使用心得

           平台:windows 64位        Qt版本:5.5.1 MinGW 32bit 根据自己目前的需求简单说下怎么在QScrollArea滚动窗口中实现多个控件的滚动显示,先看看最 ...

  4. Qt ListWidget item 发起拖放

    第一步:重写类 MyListWidget 继承自 QListWidget 第二步:重写 mousePressEvent 函数 和 mouseMoveEvent 函数 void mousePressEv ...

  5. QT 中如何实现一个简单的动画

    QT可以实现一下简单的动画,比如 运动的时钟 闪烁的按钮. 动画的实现: (1)创建一个定时器 (2)调用QWidget::update()通知界面重绘 实现一个按钮闪烁的例子: circlewidg ...

  6. 对QT中QBitArray类进行简单剖析

    我们知道Qt中的QBitArray类支持在位(bit)的层次上进行数据操作.本文剖析该类在二进制文件读写时的一些要点.另外,在Qt中,QDataStream类对于二进制文件的读写提供了诸多便利,需要注 ...

  7. 用Qt Creator 对 leveldb 进行简单的读写

    #include <iostream> #include <string> #include <leveldb/db.h> #include <boost/l ...

  8. 2.关于QT中数据库操作,简单数据库连接操作,数据库的增删改查,QSqlTableModel和QTableView,事务操作,关于QItemDelegate 代理

     Linux下的qt安装,命令时:sudoapt-get install qt-sdk 安装mysql数据库,安装方法参考博客:http://blog.csdn.net/tototuzuoquan ...

  9. 在Qt中配置TBB以及简单实用

    最近本人在写离线光线追踪渲染器,但是Qt::QtConcurrent的功能有限,所以就尝试使用了一下,顺便分享一些经验. TBB里面的parallel_for非常适合光线追踪渲染器,而QtConcur ...

随机推荐

  1. 直击 KubeCon 现场 | 阿里云 Hands-on Workshop 亮点回顾

    相关文章链接[合集]规模化落地云原生,阿里云亮相 KubeCon China沉淀九年,一文看清阿里云原生大事件 2019 年 6 月 24 日至 26 日,KubeCon + CloudNativeC ...

  2. PyTorch代码调试利器: 自动print每行代码的Tensor信息

    本文介绍一个用于 PyTorch 代码的实用工具 TorchSnooper.作者是TorchSnooper的作者,也是PyTorch开发者之一. GitHub 项目地址: https://github ...

  3. Libev源码分析05:Libev中的绝对时间定时器

    Libev中的超时监视器ev_periodic,是绝对时间定时器,不同于ev_timer,它是基于日历时间的.比如如果指定一个ev_periodic在10秒之后触发(ev_now() + 10),然后 ...

  4. 求eclipse中的java build path 详解

    我也找了一下资料,但未找到相关的正式说明,我只能凭经验告诉你. 1,Source是指资源的路径.例如在没有包含res之前,资源是放在与src同级位置,或者通过/res/*.*来操作的.2,Projec ...

  5. Redis在Laravel项目中的应用实例详解

    https://mp.weixin.qq.com/s/axIgNPZLJDh9VFGVk7oYYA 在初步了解Redis在Laravel中的应用 那么我们试想这样的一个应用场景 一个文章或者帖子的浏览 ...

  6. jQuery 文档操作 - remove() 方法

    移除所有 <p> 元素: 定义和用法 remove() 方法移除被选元素,包括所有文本和子节点. 该方法不会把匹配的元素从 jQuery 对象中删除,因而可以在将来再使用这些匹配的元素. ...

  7. js利用select标签生成简易计算功能

    html中使用select option作为运算符的承接容器,输入值,选择不同运算符,计算结果. 文章地址 https://www.cnblogs.com/sandraryan/ <!DOCTY ...

  8. Javassist指引(一)

    目录 原文链接 1. 读写字节码 1.1概述 Javassist是一个Java字节码类库.Java的字节码是包含Java类与接口,并按照一定的顺序存在class文件中. Javassist.CtCla ...

  9. H3C 动态路由协议在协议栈中的位置

  10. UVA 437 "The Tower of Babylon" (DAG上的动态规划)

    传送门 题意 有 n 种立方体,每种都有无穷多个. 要求选一些立方体摞成一根尽量高的柱子(在摞的时候可以自行选择哪一条边作为高): 立方体 a 可以放在立方体 b 上方的前提条件是立方体 a 的底面长 ...