Qt listWidget和QListWidgetItem的简单使用
简单的来实习了下
#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的简单使用的更多相关文章
- C/C++ Qt ListWidget 列表框组件应用
ListWidget列表框组件,该组件与TreeWidget有些相似,区别在于TreeWidget可以实现嵌套以及多字段结构,而ListWidget组件则只能实现单字段结构,ListWidget组件常 ...
- qt坐标系统与布局的简单入门
qt坐标系统 qt坐标系统比較简单 ); 上面的代码把button显示为父窗体的20,20处宽度为100,高度为100 接下去是布局 qt里面布局须要增加<QLayout.h>这个头 ...
- Qt中QScrollArea类的简单使用心得
平台:windows 64位 Qt版本:5.5.1 MinGW 32bit 根据自己目前的需求简单说下怎么在QScrollArea滚动窗口中实现多个控件的滚动显示,先看看最 ...
- Qt ListWidget item 发起拖放
第一步:重写类 MyListWidget 继承自 QListWidget 第二步:重写 mousePressEvent 函数 和 mouseMoveEvent 函数 void mousePressEv ...
- QT 中如何实现一个简单的动画
QT可以实现一下简单的动画,比如 运动的时钟 闪烁的按钮. 动画的实现: (1)创建一个定时器 (2)调用QWidget::update()通知界面重绘 实现一个按钮闪烁的例子: circlewidg ...
- 对QT中QBitArray类进行简单剖析
我们知道Qt中的QBitArray类支持在位(bit)的层次上进行数据操作.本文剖析该类在二进制文件读写时的一些要点.另外,在Qt中,QDataStream类对于二进制文件的读写提供了诸多便利,需要注 ...
- 用Qt Creator 对 leveldb 进行简单的读写
#include <iostream> #include <string> #include <leveldb/db.h> #include <boost/l ...
- 2.关于QT中数据库操作,简单数据库连接操作,数据库的增删改查,QSqlTableModel和QTableView,事务操作,关于QItemDelegate 代理
Linux下的qt安装,命令时:sudoapt-get install qt-sdk 安装mysql数据库,安装方法参考博客:http://blog.csdn.net/tototuzuoquan ...
- 在Qt中配置TBB以及简单实用
最近本人在写离线光线追踪渲染器,但是Qt::QtConcurrent的功能有限,所以就尝试使用了一下,顺便分享一些经验. TBB里面的parallel_for非常适合光线追踪渲染器,而QtConcur ...
随机推荐
- HDU-1029_Ignatius and the Princess IV
Ignatius and the Princess IV Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32767 K (Jav ...
- 洛谷P2512 [HAOI2008]糖果传递
//不开long long见祖宗!!! #include<bits/stdc++.h> using namespace std; long long n,ans,sum; ],s[]; i ...
- 网站域名加WWW与不加WWW区别
不知道站长童鞋们有没有注意到,很多网站在打开时,地址栏里的域名有的带有“www.”,而有的网站前面则没有带“www.”这其中有什么区别呢?作为一个新站长,我什么都不懂,就在百度上搜了一艘,也没找到一个 ...
- MaxCompute 预付费标准版VS套餐版
MaxCompute 于5月7日正式售卖预付费(包年包月)套餐资源,主打存储密集型套餐,一共三个套餐: 存储密集型160套餐 存储密集型320套餐 存储密集型600套餐 本文主要给大家介绍预付标准版和 ...
- HTTP协议详解以及URL具体访问过程(转载)
https://blog.csdn.net/f45056231p/article/details/82533490
- localStorage、sessionStorage、cookie的区别
localStorage: 存储的内容大概20MB 不同浏览器不能共享,但是在同一浏览器的不同窗口中可以共享 永久生效,它的数据是存储的硬盘上,并不会随着页面或者浏览器的关闭而清楚,需手动清除 ses ...
- hdu 1026 Ignatius and the Princess I(bfs)
Ignatius and the Princess I Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (J ...
- jQuery中动态创建、添加元素的方法总结
<input type="button" value="创建元素" id="btn"> <div id="box ...
- js基础-原型
1.定义:我们创建的函数都有一个prototype(原型)属性,该属性是一个对象, 原型模式声明中多了两个属性(自动生成). 构造函数: function Box(nam ...
- Vmware虚拟机用户密码忘记了怎么办?
Vmware虚拟机用户密码忘记了怎么办? 虚拟机Linux上用户密码忘记了怎么办? 今天准备再学习一下linux操作系统,由于之前已经安装过vaware和linux(redhat),所以这次认为不 ...