`
izuoyan
  • 浏览: 9224392 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Qt学习之路(39): QListWidget

阅读更多
版权声明: 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://devbean.blog.51cto.com/448512/251391
前面一节简单概述著名的MVC模式在Qt中的实现,现在我们从QListWidget开始了解Qt提供的一系列方便的item view类。
第一个要说的是QListWidget。这个类为我们展示一个List列表的视图。下面还是先看代码:
listwidget.h
#ifndef LISTWIDGET_H
#define LISTWIDGET_H

#include <QtGui>

class ListWidget : public QWidget
{
public :
ListWidget();

private :
QLabel *label;
QListWidget *list;
};

#endif // LISTWIDGET_H
listwidget.cpp
#include "listwidget.h"

ListWidget::ListWidget()
{
label = new QLabel;
label->setFixedWidth(70);
list = new QListWidget;
list->addItem(new QListWidgetItem(QIcon(":/images/line.PNG" ), tr("Line" )));
list->addItem(new QListWidgetItem(QIcon(":/images/rect.PNG" ), tr("Rectangle" )));
list->addItem(new QListWidgetItem(QIcon(":/images/oval.PNG" ), tr("Oval" )));
list->addItem(new QListWidgetItem(QIcon(":/images/tri.PNG" ), tr("Triangle" )));
QHBoxLayout *layout = new QHBoxLayout;
layout->addWidget(label);
layout->addWidget(list);

setLayout(layout);

connect(list, SIGNAL(currentTextChanged(QString)), label, SLOT(setText(QString)));
}
main.cpp
#include <QtGui>
#include "listwidget.h"

int main(int argc, char *argv[])
{
QApplication a(argc, argv);
ListWidget lw;
lw.resize(400, 200);
lw.show();
return a.exec();
}
一共三个文件,但是都比较清晰。我们先建立了一个ListWidget类,然后在main函数中将其显示出来。
ListWidget类中包含一个QLabel对象和一个QListWidget对象。创建这个QListWidget对象很简单,只需要使用 new运算符创建出来,然后调用addItem()函数即可将item添加到这个对象中。我们添加的对象是QListWidgetItem的指针,它有四 个重载的函数,我们使用的是其中的一个,它接受两个参数,第一个是QIcon引用类型,作为item的图标,第二个是QString类型,作为这个 item后面的文字说明。当然,我们也可以使用insertItem()函数在特定的位置动态的增加item,具体使用请查阅API文档。最后,我们将这 个QListWidget的currentTextChanged()信号同QLabel的setText()连接起来,这样,在我们点击item的时 候,label上面的文字就可以改变了。
我们还可以设置viewModel这个参数,来确定使用不同的视图进行显示。比如,我们使用下面的语句:
list->setViewMode(QListView::IconMode);
再来看看程序界面吧!

本文出自 “豆子空间 ” 博客,请务必保留此出处http://devbean.blog.51cto.com/448512/251391

分享到:
评论

相关推荐

    Qt学习之QListWidget添加item

    在Qt编程中,QListWidget是一个非常常用的控件,它允许我们展示一系列的项目(items)以列表形式。本篇文章将深入探讨如何在QListWidget中添加item,这对于创建用户界面,尤其是涉及到列表数据展示的应用程序至关...

    QT QListWidget新增右键删除item内容

    在QT编程中,QListWidget是一个非常常用的控件,它允许我们展示一系列的项,每个项可以包含文本、图标或者自定义的小部件。然而,QListWidget默认并不提供右键删除项的功能。为了实现这个功能,我们需要进行一些...

    Qt 学习之路:DZY

    ### Qt学习之路:核心知识点概览 #### 一、前言 - **Qt简介**:Qt是一个跨平台的C++图形用户界面应用程序开发框架。它不仅支持Windows、macOS、Linux等主流操作系统,还能用于开发嵌入式系统、移动设备应用(如...

    Qt例程源代码QListWidget.7z

    通过学习和研究Qt例程,开发者可以提升对Qt库的掌握,从而更好地利用Qt进行高效、高质量的跨平台应用程序开发。在实际项目中,理解并灵活运用QListWidget的各种功能和特性,能够极大地提高应用的用户体验和实用性。

    qt学习视频3

    QT学习视频3主要聚焦于C++与QT的联合开发,这一部分的学习内容是QT学习旅程中的重要阶段。QT是一个强大的跨平台应用开发框架,由Qt Company维护,广泛应用于桌面、移动以及嵌入式设备的软件开发。C++是QT的主要编程...

    QComboBox+QListWidget实现自定义ComboBox

    在Qt框架中,QComboBox和QListWidget是两种常用的用户界面元素。QComboBox是一个下拉式选择框,通常用于提供一组预定义的选项供用户选择;而QListWidget则是一个可滚动的列表,可以显示多行文本或者图像。在某些情况...

    其实这本PDF就是Qt学习之路第一版

    ### Qt学习之路知识点总结 #### 一、前言:Qt简介与选择 - **Qt**是一种跨平台的应用程序开发框架,广泛应用于桌面、移动设备及嵌入式系统的GUI应用程序开发。 - C++的GUI编程并非C++标准的一部分,因此开发者在...

    QT学习之路2 (1~82篇)

    42. QListWidget、QTreeWidget 和 QTableWidget 43. QStringListModel 44. QFileSystemModel 45. 模型 46. 视图和委托 47. 视图选择 48. QSortFilterProxyModel 49. 自定义只读模型 50. 自定义可编辑模型 51. 布尔...

    Qt+QListWidget聊天气泡

    在本文中,我们将深入探讨如何使用Qt框架和QListWidget组件来实现一个聊天气泡功能。Qt是一个跨平台的应用程序开发框架,广泛用于创建桌面、移动和嵌入式应用程序。QListWidget是Qt提供的一种简单易用的列表控件,...

    QT表头支持多列显示,功能强大

    QT框架是Qt公司开发的一款强大...通过不断的实践和学习,可以克服如乱码这样的问题,充分利用QT的强大功能。在面对类似hv_example这样的示例项目时,建议仔细阅读代码,理解每个部分的作用,从而提升自己的QT开发技能。

    Qt5学习之路2

    《Qt学习之路2》是一份全面介绍Qt开发的教程,旨在帮助读者从基础知识逐步过渡到Qt的高级特性,让初学者能够快速上手Qt开发,并为有经验的开发者提供深入学习的机会。通过对Qt4和Qt5两个版本的比较,本教程帮助读者...

    Qt学习之路2 (基于Qt5.0.1共58章)

    基于最新的Qt5.0.1的学习书籍,非常适合QT5的入门学习。 目录 1. 序 2. Qt 前言 3. Hello, world! 4. 信号槽 5. 自定义信号槽 6. Qt 模块简介 7. MainWindow 简介 8. 添加动作 9. 资源文件 10. 对象模型 11. 布局...

    基于Qt+QListWidget开发的天气预报系统源码+文档说明(毕业设计)

    基于Qt+QListWidget开发的天气预报系统源码+文档说明(毕业设计)基于Qt+QListWidget开发的天气预报系统源码+文档说明(毕业设计)基于Qt+QListWidget开发的天气预报系统源码+文档说明(毕业设计)基于Qt+...

    QListWidget例子小demo

    在本示例中,我们将深入探讨`QListWidget`,这是一个在Qt库中广泛使用的图形用户界面(GUI)组件。`QListWidget`是Qt Widgets模块的一部分,它提供了一个简单的列表视图,允许用户通过图标或文本来显示一系列项目。...

    自定义QComboBox,用Listwidget做Model,美化

    虽然描述中提到有些细节可能不够完善,但我们可以以此为基础,深入学习并优化这个过程。 首先,我们要明白QComboBox的基本使用。它内置了一个简单的模型,可以存储字符串列表,并通过setModel()函数来设置自定义...

Global site tag (gtag.js) - Google Analytics