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 ...
随机推荐
- POJ-3616_Milking Time
Milking Time Time Limit: 1000MS Memory Limit: 65536K Description Bessie is such a hard-working cow. ...
- Java练习 SDUT-3328_JAVA判断合法标识符
JAVA判断合法标识符 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 输入若干行字符串,判断每行字符串是否可以作为JA ...
- jquery attr()和prop()方法的区别
$('').attr()返回的是html对象 $('').prop()返回的是DOM对象 attr(): attr() 方法设置或返回被选元素的属性和值. 当该方法用于返回属性值,则返回第一个匹配元素 ...
- PHP 7.0新增特性详解
https://www.cnblogs.com/riverdubu/archive/2017/03/22/6434705.html 开始介绍PHP7.0新特性,具体的可以参照官网的介绍,我来挑一些给大 ...
- 解锁当前XXX用户
pam_tally2 查看当前锁账户 pam_tally2 --user=XXX用户 --reset 解锁当前XXX用户
- 为更强大而生的开源关系型数据库来了!阿里云RDS for MySQL 8.0 正式上线!
2019年5月29日15时,阿里云RDS for MySQL 8.0正式上线,使得阿里云成为紧跟社区步伐,发布MySQL最新版本的云厂商.RDS for MySQL 8.0 产品是阿里云推出的 MyS ...
- 2、Dapper的使用
1.表结构介绍: 1)课程表 2)成绩表 3)学生表 2.获取数据库连接的工厂类 需要添加System.Configuration和MySql.Data.MySqlClient引用 namespac ...
- H3C ISDN网络构成
- JS 动态表格
表格 在script里面使用innerHTML获取标签体的内容,然后进行添加. 删除则是不断的获取父节点,利用父节点删除子节点. 在做这个的时候,要主要获取表格table的对象有两种方式,一是getE ...
- 洛谷P2486 [SDOI2011]染色 题解 树链剖分+线段树
题目链接:https://www.luogu.org/problem/P2486 首先这是一道树链剖分+线段树的题. 线段树部分和 codedecision P1112 区间连续段 一模一样,所以我们 ...