前面一节简单概述著名的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是一个非常常用的控件,它允许我们展示一系列的项目(items)以列表形式。本篇文章将深入探讨如何在QListWidget中添加item,这对于创建用户界面,尤其是涉及到列表数据展示的应用程序至关...
在QT编程中,QListWidget是一个非常常用的控件,它允许我们展示一系列的项,每个项可以包含文本、图标或者自定义的小部件。然而,QListWidget默认并不提供右键删除项的功能。为了实现这个功能,我们需要进行一些...
### Qt学习之路:核心知识点概览 #### 一、前言 - **Qt简介**:Qt是一个跨平台的C++图形用户界面应用程序开发框架。它不仅支持Windows、macOS、Linux等主流操作系统,还能用于开发嵌入式系统、移动设备应用(如...
通过学习和研究Qt例程,开发者可以提升对Qt库的掌握,从而更好地利用Qt进行高效、高质量的跨平台应用程序开发。在实际项目中,理解并灵活运用QListWidget的各种功能和特性,能够极大地提高应用的用户体验和实用性。
QT学习视频3主要聚焦于C++与QT的联合开发,这一部分的学习内容是QT学习旅程中的重要阶段。QT是一个强大的跨平台应用开发框架,由Qt Company维护,广泛应用于桌面、移动以及嵌入式设备的软件开发。C++是QT的主要编程...
在Qt框架中,QComboBox和QListWidget是两种常用的用户界面元素。QComboBox是一个下拉式选择框,通常用于提供一组预定义的选项供用户选择;而QListWidget则是一个可滚动的列表,可以显示多行文本或者图像。在某些情况...
### Qt学习之路知识点总结 #### 一、前言:Qt简介与选择 - **Qt**是一种跨平台的应用程序开发框架,广泛应用于桌面、移动设备及嵌入式系统的GUI应用程序开发。 - C++的GUI编程并非C++标准的一部分,因此开发者在...
42. QListWidget、QTreeWidget 和 QTableWidget 43. QStringListModel 44. QFileSystemModel 45. 模型 46. 视图和委托 47. 视图选择 48. QSortFilterProxyModel 49. 自定义只读模型 50. 自定义可编辑模型 51. 布尔...
在本文中,我们将深入探讨如何使用Qt框架和QListWidget组件来实现一个聊天气泡功能。Qt是一个跨平台的应用程序开发框架,广泛用于创建桌面、移动和嵌入式应用程序。QListWidget是Qt提供的一种简单易用的列表控件,...
QT框架是Qt公司开发的一款强大...通过不断的实践和学习,可以克服如乱码这样的问题,充分利用QT的强大功能。在面对类似hv_example这样的示例项目时,建议仔细阅读代码,理解每个部分的作用,从而提升自己的QT开发技能。
《Qt学习之路2》是一份全面介绍Qt开发的教程,旨在帮助读者从基础知识逐步过渡到Qt的高级特性,让初学者能够快速上手Qt开发,并为有经验的开发者提供深入学习的机会。通过对Qt4和Qt5两个版本的比较,本教程帮助读者...
基于最新的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库中广泛使用的图形用户界面(GUI)组件。`QListWidget`是Qt Widgets模块的一部分,它提供了一个简单的列表视图,允许用户通过图标或文本来显示一系列项目。...
虽然描述中提到有些细节可能不够完善,但我们可以以此为基础,深入学习并优化这个过程。 首先,我们要明白QComboBox的基本使用。它内置了一个简单的模型,可以存储字符串列表,并通过setModel()函数来设置自定义...