QListWidget类也是GUI中常用的类,它从QListView下派生:

class Q_GUI_EXPORT QListWidget : public QListView
{Q_OBJECT

常用方法和属性:

(1)addItem

void addItem ( const QString & label )
void addItem ( QListWidgetItem * item )
void addItems ( const QStringList & labels )

添加一项或多项。

(2)

int count () const

包含隐藏的列表项在内的列表项总数。

(3)currentItem

QListWidgetItem * currentItem () const

返回当前选择的项。

(4)currentRow

int currentRow () const

返回当前选择的项的序号。

(5)insertItem

void insertItem ( int row, QListWidgetItem * item )
void insertItem ( int row, const QString & label )
void insertItems ( int row, const QStringList & labels )

插入新项到列表框。

(6)

QListWidgetItem * item ( int row ) const

返回序号为row处的列表项。

(7)removeItemWidget

void removeItemWidget ( QListWidgetItem * item )

删除指定项item。

(8)selectedItems

QList<QListWidgetItem *> selectedItems () const

返回当前选择的项。

(9)

void setCurrentItem ( QListWidgetItem * item )

设置当前选择的项为item。

(10)

void setCurrentRow ( int row )

设置当前选择项。

(11)

void setSortingEnabled ( bool enable )

设置排序功能是否启用。

(12)

void sortItems ( Qt::SortOrder order = Qt::AscendingOrder )

排序列表框,参数的值可以是:

Qt::AscendingOrder          0                  The items are sorted ascending e.g. starts with 'AAA' ends with 'ZZZ' in Latin-1 locales
Qt::DescendingOrder       1                  The items are sorted descending e.g. starts with 'ZZZ' ends with 'AAA' in Latin-1 locales
(13)

QListWidgetItem * QListWidget::takeItem ( int row )

删除一项。

示例:

Window.h

#ifndef __WINDOW_H__
#define __WINDOW_H__#include <QMainWindow>
#include <QPushButton>
#include <QLineEdit>
#include <QLayout>
#include <QLabel>
#include <QComboBox>
#include <QMessageBox>
#include <QDialog>
#include <QListWidget>class Window : public QMainWindow
{Q_OBJECTpublic:Window(QWidget *parent = NULL):QMainWindow(parent){listWidget = new QListWidget(this);new QListWidgetItem(tr("Oak"), listWidget);new QListWidgetItem(tr("Fir"), listWidget);new QListWidgetItem(tr("Pine"), listWidget);QLabel *lbl = new QLabel(tr("select text:"));edt = new QLineEdit;QVBoxLayout *leftLayout = new QVBoxLayout;leftLayout->addWidget(listWidget);leftLayout->addWidget(lbl);leftLayout->addWidget(edt);//edt_add = new QLineEdit;QPushButton *add_btn = new QPushButton(tr("Add"));QPushButton *del_btn = new QPushButton(tr("Del"));QPushButton *quit_btn = new QPushButton(tr("Quit"));QVBoxLayout *rightLayout = new QVBoxLayout;rightLayout->addWidget(edt_add);rightLayout->addWidget(add_btn);rightLayout->addWidget(del_btn);rightLayout->addStretch();rightLayout->addWidget(quit_btn);QHBoxLayout *mainLayout = new QHBoxLayout;mainLayout->addLayout(leftLayout);mainLayout->addLayout(rightLayout);QWidget *mainWidget = new QWidget;mainWidget->setLayout(mainLayout);setCentralWidget(mainWidget);connect(listWidget, SIGNAL(itemSelectionChanged()), this, SLOT(itemSelectionChanged ()));connect(add_btn, SIGNAL(clicked()), this, SLOT(on_add()));connect(del_btn, SIGNAL(clicked()), this, SLOT(on_del()));connect(quit_btn, SIGNAL(clicked()), this, SLOT(close()));}private:QListWidget *listWidget;QLineEdit *edt, *edt_add;private slots:void itemSelectionChanged(){edt->setText(listWidget->currentItem()->text());}void on_add(){listWidget->insertItem(listWidget->currentRow() + 1, edt_add->text());}void on_del(){listWidget->takeItem(listWidget->currentRow());}};#endif

main.cpp

#include <QApplication>
#include <QDialog>
#include "Window.h"int main(int argc, char *argv[])
{QApplication a(argc, argv);Window *mainWindow = new Window;mainWindow->resize(300, 300);mainWindow->setWindowTitle(QWidget::tr("Qt Test"));mainWindow->show();return a.exec();
}

编译运行,界面如下:

QListWidget的项可以是带图片的显示,示例:

    QListWidgetItem *configButton = new QListWidgetItem(contentsWidget);configButton->setIcon(QIcon(":/images/config.png"));configButton->setText(tr("Configuration"));configButton->setTextAlignment(Qt::AlignHCenter);configButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);QListWidgetItem *updateButton = new QListWidgetItem(contentsWidget);updateButton->setIcon(QIcon(":/images/update.png"));updateButton->setText(tr("Update"));updateButton->setTextAlignment(Qt::AlignHCenter);updateButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);QListWidgetItem *queryButton = new QListWidgetItem(contentsWidget);queryButton->setIcon(QIcon(":/images/query.png"));queryButton->setText(tr("Query"));queryButton->setTextAlignment(Qt::AlignHCenter);queryButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);

如图:

转自:http://blog.csdn.net/xgbing/article/details/7768226

转载于:https://www.cnblogs.com/weizhixiang/p/5913775.html

列表框QListWidget类相关推荐

  1. 列表框QListWidget 类

    文章目录 1 QListWidget 简介 2 QListWidget 常用操作 2.1 添加操作 2.2 删除操作 1 QListWidget 简介 Qt 提供 QListWidget 类列表框控件 ...

  2. 【QT开发笔记-基础篇】| 第二章 常用控件 | 2.11 列表框 QListWidget

    本节对应的视频讲解:B_站_链_接 https://www.bilibili.com/video/BV1gd4y1Q7Bw Qt 中的列表框控件,对应的类是 QListWidget 它用于显示多个列表 ...

  3. Qt QListWidget列表框用法详解

    Qt QListWidget列表框用法详解 很多应用程序中需要以列表的形式向用户展示数据(资源),比如 Windows 操作系统会以列表的方式展示很多张桌面背景图(如图 1a) 所示),再比如很多音乐 ...

  4. wxpython制作表格界面_Python wxPython库使用wx.ListBox创建列表框示例

    本文实例讲述了Python wxPython库使用wx.ListBox创建列表框.分享给大家供大家参考,具体如下: 如何创建一个列表框? 列表框是提供给用户选择的另一机制.选项被放置在一个矩形的窗口中 ...

  5. 【Qt教程】2.4 - Qt5 控件 - QListWidget列表框

    GitHub代码仓库:Qt学习例程 1. List Widget列表框 将 List Widget控件拖入ui. 列表框添加列表,代码: widget.c: #include "widget ...

  6. 博为峰Java技术文章 ——JavaSE Swing列表框选取事件的处理

    2019独角兽企业重金招聘Python工程师标准>>> 博为峰小博老师: 在JList类中有addListSelectionListener()方法,可以检测用户是否对JList的选 ...

  7. 11、Java Swing JList:列表框组件

    列表框与下拉列表的区别不仅仅表现在外观上, 当激活下拉列表时,会出现下拉列表框中的内容.但列表框只是在窗体系上占据固定的大小,如果需要列表框具有滚动效果,可以将列表框放到滚动面板中. 当用户选择列表框 ...

  8. QT的QListWidget类的使用

    详细说明 QListWidget类提供了一个基于项目的列表小部件. QListWidget是一个便利类,提供与QListView提供的列表视图类似的列表视图,但具有用于添加和删除项目的经典基于项目的界 ...

  9. python列表框_「每日一练」Python列表框部件的运用

    原标题:「每日一练」Python列表框部件的运用 用Python就一定要用到界面操作,有一个好的用户界面,才会有好的用户体验,下边就开始创建我们的主窗口,并设置相应的列表框部件吧! 案例 创建主窗口, ...

最新文章

  1. java系统高并发解决方案
  2. jstl sql标签使用
  3. STM32串口的使用(原理、结构体、库函数、串口发送字符(串)、重定向printf串口发送、串口中断接收控制灯)
  4. qt更改类名_Qt编写自定义控件属性设计器
  5. 物联网可能面临灾难性安全风险
  6. jQuery文档操作之删除操作
  7. 死锁的处理策略——检测和解除
  8. Spring容器启动时出现Failed to read schema document错误
  9. php引用()详解及注意事项
  10. OA办公系统免费版评测 哪个适合自己?
  11. 上传图片预览图片方向错误
  12. 查询光猫厂家为ZTE,且内存范围在0到100之间,统计去掉重复的loid之后的数量,并计算出内存的avg,max,min,sum
  13. Edge/IE浏览器主页被篡改为360导航的快捷解决方法
  14. Matlab中图文本中的希腊字母和特殊字符
  15. 他们真的在意信用么?
  16. 随笔---XXXIII
  17. c语言感叹号放最后用法,感叹号的用法和注意事项
  18. 终于找到macOS校正系统时间方法了
  19. 转自翻译官妈妈— 独一份的英国教师用书翻译手稿(自然拼读)
  20. Exchange 2010 SP1升级Exchange2010 SP3

热门文章

  1. 破解phpstorm2017.3.1版本并解决win10下修改hosts问题
  2. Java面试题及答案2020,mysql时间类型以及获取当前时间
  3. python【力扣LeetCode算法题库】面试题62- 圆圈中最后剩下的数字(约瑟夫环)
  4. 解决Xshell 连不上ubuntu系统
  5. 计算机网络高分笔记视频,计算机网络高分笔记(整理).pdf
  6. matlab水印剪切攻击程序,可以运行的水印matlab程序(嵌入,提取,攻击测试等).doc
  7. matlab抽样模块是哪个,Matlab怎样进行信号的重建这个题先让把x(t)=sin(2πt)按照T=0.4抽样,这一步我已经...
  8. mysql查询的题目_mysql查询语句练习题
  9. php7怎么开pdo,linux php7.2开启pdo等扩展
  10. 前端动画优化及性能检测