前面一节简单概述著名的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
42. QListWidget、QTreeWidget 和 QTableWidget 43. QStringListModel 44. QFileSystemModel 45. 模型 46. 视图和委托 47. 视图选择 48. QSortFilterProxyModel 49. 自定义只读模型 50. 自定义可编辑模型 51. 布尔...
基于最新的Qt5.0.1的学习书籍,非常适合QT5的入门学习。 目录 1. 序 2. Qt 前言 3. Hello, world! 4. 信号槽 5. 自定义信号槽 6. Qt 模块简介 7. MainWindow 简介 8. 添加动作 9. 资源文件 10. 对象模型 11. 布局...
整合对Qt所有部件(QListView\QListWidget\QTreeView\QTreeWidget\QTableView\QTableWidget\QColumnView\QUndoView, 所有输入框, 所有容器, 所有显示框, 所有按钮)的描述和使用, 对一些model进行自定义使用, 代码注释...
自定义一个新的YYListWidget,实现QListWidget内item带Widget拖拽并且移动item位置。快速学习在同一个QListWidget的item之间移动换序。
Qt翻页,能拖动移动,挺好的学习计划,适合初学者学习
1.效果类似于Windows桌面应用可以通过鼠标拖拽插入指定位置,并自动排序的效果。 2.开发环境Qt Creator,...7.目标人群:想学习使用MousePressed、MouseMoved、MouseReleased实现拖拽功能、QListWidget深入功能的学者。
Qt中工具控件QListWidget的应用例子,有需要的朋友可下载学习。分享快乐。
于是,我们通过阅读Qt的assistant和examples来学习并使用Qt 4。在逐渐掌握Qt 4的过程中,我们萌发了编写一本关于Qt 4的书来帮助初学者入门的想法。最终,在电子工业出版社博文视点资讯有限公司的大力支持下,我们的...
于是,我们通过阅读Qt的assistant和examples来学习并使用Qt 4。在逐渐掌握Qt 4的过程中,我们萌发了编写一本关于Qt 4的书来帮助初学者入门的想法。最终,在电子工业出版社博文视点资讯有限公司的大力支持下,我们的...
用msvc2015 Vs Qt5.10.1 的Qxml与QListWidget等开发的资源管理系统源码及搭建好的框架,适合Qt学习用和利用框架继续开发该系统,用来开发学习QXml及ListWidget模块及继续开发自用很合适。目前该软件框架版本包括存储...
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在Model/View的便利类QTreeWidget、QListWidgetItem中的项类型分别是QTreeWidgetItem、QListWidgetItem,在构造这2个类型项的时候,...
我的demo目前是自己制作了一个自定义的QListWidget,然后需要点击item的时候,得到组件中城市的部分(这个可以自己修改),然后我会将这个城市传递给别的页面进行获取天气。一开始我的选择是连接自定义和主窗口,...
具体的代码步骤和解析可以看这篇博文(https://blog.csdn.net/weixin_52194015/article/details/134078826),这是我在学习Qt时的练手项目,大家也可以在练习中根据自己的喜好增加新的功能,方法原理在那两篇博文里...
自实现的一个动态的拖拽垃圾箱,是一个学习拖拽和动画的简易例子;同时也加入了事件监听