列表框QListWidget类
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类相关推荐
- 列表框QListWidget 类
文章目录 1 QListWidget 简介 2 QListWidget 常用操作 2.1 添加操作 2.2 删除操作 1 QListWidget 简介 Qt 提供 QListWidget 类列表框控件 ...
- 【QT开发笔记-基础篇】| 第二章 常用控件 | 2.11 列表框 QListWidget
本节对应的视频讲解:B_站_链_接 https://www.bilibili.com/video/BV1gd4y1Q7Bw Qt 中的列表框控件,对应的类是 QListWidget 它用于显示多个列表 ...
- Qt QListWidget列表框用法详解
Qt QListWidget列表框用法详解 很多应用程序中需要以列表的形式向用户展示数据(资源),比如 Windows 操作系统会以列表的方式展示很多张桌面背景图(如图 1a) 所示),再比如很多音乐 ...
- wxpython制作表格界面_Python wxPython库使用wx.ListBox创建列表框示例
本文实例讲述了Python wxPython库使用wx.ListBox创建列表框.分享给大家供大家参考,具体如下: 如何创建一个列表框? 列表框是提供给用户选择的另一机制.选项被放置在一个矩形的窗口中 ...
- 【Qt教程】2.4 - Qt5 控件 - QListWidget列表框
GitHub代码仓库:Qt学习例程 1. List Widget列表框 将 List Widget控件拖入ui. 列表框添加列表,代码: widget.c: #include "widget ...
- 博为峰Java技术文章 ——JavaSE Swing列表框选取事件的处理
2019独角兽企业重金招聘Python工程师标准>>> 博为峰小博老师: 在JList类中有addListSelectionListener()方法,可以检测用户是否对JList的选 ...
- 11、Java Swing JList:列表框组件
列表框与下拉列表的区别不仅仅表现在外观上, 当激活下拉列表时,会出现下拉列表框中的内容.但列表框只是在窗体系上占据固定的大小,如果需要列表框具有滚动效果,可以将列表框放到滚动面板中. 当用户选择列表框 ...
- QT的QListWidget类的使用
详细说明 QListWidget类提供了一个基于项目的列表小部件. QListWidget是一个便利类,提供与QListView提供的列表视图类似的列表视图,但具有用于添加和删除项目的经典基于项目的界 ...
- python列表框_「每日一练」Python列表框部件的运用
原标题:「每日一练」Python列表框部件的运用 用Python就一定要用到界面操作,有一个好的用户界面,才会有好的用户体验,下边就开始创建我们的主窗口,并设置相应的列表框部件吧! 案例 创建主窗口, ...
最新文章
- java系统高并发解决方案
- jstl sql标签使用
- STM32串口的使用(原理、结构体、库函数、串口发送字符(串)、重定向printf串口发送、串口中断接收控制灯)
- qt更改类名_Qt编写自定义控件属性设计器
- 物联网可能面临灾难性安全风险
- jQuery文档操作之删除操作
- 死锁的处理策略——检测和解除
- Spring容器启动时出现Failed to read schema document错误
- php引用()详解及注意事项
- OA办公系统免费版评测 哪个适合自己?
- 上传图片预览图片方向错误
- 查询光猫厂家为ZTE,且内存范围在0到100之间,统计去掉重复的loid之后的数量,并计算出内存的avg,max,min,sum
- Edge/IE浏览器主页被篡改为360导航的快捷解决方法
- Matlab中图文本中的希腊字母和特殊字符
- 他们真的在意信用么?
- 随笔---XXXIII
- c语言感叹号放最后用法,感叹号的用法和注意事项
- 终于找到macOS校正系统时间方法了
- 转自翻译官妈妈— 独一份的英国教师用书翻译手稿(自然拼读)
- Exchange 2010 SP1升级Exchange2010 SP3
热门文章
- 破解phpstorm2017.3.1版本并解决win10下修改hosts问题
- Java面试题及答案2020,mysql时间类型以及获取当前时间
- python【力扣LeetCode算法题库】面试题62- 圆圈中最后剩下的数字(约瑟夫环)
- 解决Xshell 连不上ubuntu系统
- 计算机网络高分笔记视频,计算机网络高分笔记(整理).pdf
- matlab水印剪切攻击程序,可以运行的水印matlab程序(嵌入,提取,攻击测试等).doc
- matlab抽样模块是哪个,Matlab怎样进行信号的重建这个题先让把x(t)=sin(2πt)按照T=0.4抽样,这一步我已经...
- mysql查询的题目_mysql查询语句练习题
- php7怎么开pdo,linux php7.2开启pdo等扩展
- 前端动画优化及性能检测