注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

linux 学习

 
 
 

日志

 
 

QListWidget  

2014-03-19 16:17:29|  分类: QT编程 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://devbean.blog.51cto.com/448512/251391
前面一节简单概述著名的MVC模式在Qt中的实现,现在我们从QListWidget开始了解Qt提供的一系列方便的item view类。
 
第一个要说的是QListWidget。这个类为我们展示一个List列表的视图。下面还是先看代码:
 
listwidget.h
QListWidget - ququ - linux 学习#ifndef LISTWIDGET_H
QListWidget - ququ - linux 学习#define LISTWIDGET_H
QListWidget - ququ - linux 学习
QListWidget - ququ - linux 学习#include <QtGui>
QListWidget - ququ - linux 学习
QListWidget - ququ - linux 学习class ListWidget : public QWidget
QListWidget - ququ - linux 学习{
QListWidget - ququ - linux 学习public:
QListWidget - ququ - linux 学习        ListWidget();
QListWidget - ququ - linux 学习
QListWidget - ququ - linux 学习private:
QListWidget - ququ - linux 学习        QLabel *label;
QListWidget - ququ - linux 学习        QListWidget *list;
QListWidget - ququ - linux 学习};
QListWidget - ququ - linux 学习
QListWidget - ququ - linux 学习#endif // LISTWIDGET_H
 
listwidget.cpp
QListWidget - ququ - linux 学习#include "listwidget.h"
QListWidget - ququ - linux 学习
QListWidget - ququ - linux 学习ListWidget::ListWidget()
QListWidget - ququ - linux 学习{
QListWidget - ququ - linux 学习        label = new QLabel;
QListWidget - ququ - linux 学习        label->setFixedWidth(70);
QListWidget - ququ - linux 学习        list = new QListWidget;
QListWidget - ququ - linux 学习        list->addItem(new QListWidgetItem(QIcon(":/images/line.PNG"), tr("Line")));
QListWidget - ququ - linux 学习        list->addItem(new QListWidgetItem(QIcon(":/images/rect.PNG"), tr("Rectangle")));
QListWidget - ququ - linux 学习        list->addItem(new QListWidgetItem(QIcon(":/images/oval.PNG"), tr("Oval")));
QListWidget - ququ - linux 学习        list->addItem(new QListWidgetItem(QIcon(":/images/tri.PNG"), tr("Triangle")));
QListWidget - ququ - linux 学习        QHBoxLayout *layout = new QHBoxLayout;
QListWidget - ququ - linux 学习        layout->addWidget(label);
QListWidget - ququ - linux 学习        layout->addWidget(list);
QListWidget - ququ - linux 学习
QListWidget - ququ - linux 学习        setLayout(layout);
QListWidget - ququ - linux 学习
QListWidget - ququ - linux 学习        connect(list, SIGNAL(currentTextChanged(QString)), label, SLOT(setText(QString)));
QListWidget - ququ - linux 学习}
 
main.cpp
QListWidget - ququ - linux 学习#include <QtGui>
QListWidget - ququ - linux 学习#include "listwidget.h"
QListWidget - ququ - linux 学习
QListWidget - ququ - linux 学习int main(int argc, char *argv[])
QListWidget - ququ - linux 学习{
QListWidget - ququ - linux 学习        QApplication a(argc, argv);
QListWidget - ququ - linux 学习        ListWidget lw;
QListWidget - ququ - linux 学习        lw.resize(400, 200);
QListWidget - ququ - linux 学习        lw.show();
QListWidget - ququ - linux 学习        return a.exec();
QListWidget - ququ - linux 学习}
 
一共三个文件,但是都比较清晰。我们先建立了一个ListWidget类,然后在main函数中将其显示出来。
 
ListWidget类中包含一个QLabel对象和一个QListWidget对象。创建这个QListWidget对象很简单,只需要使用 new运算符创建出来,然后调用addItem()函数即可将item添加到这个对象中。我们添加的对象是QListWidgetItem的指针,它有四 个重载的函数,我们使用的是其中的一个,它接受两个参数,第一个是QIcon引用类型,作为item的图标,第二个是QString类型,作为这个 item后面的文字说明。当然,我们也可以使用insertItem()函数在特定的位置动态的增加item,具体使用请查阅API文档。最后,我们将这 个QListWidget的currentTextChanged()信号同QLabel的setText()连接起来,这样,在我们点击item的时 候,label上面的文字就可以改变了。
 
 
我们还可以设置viewModel这个参数,来确定使用不同的视图进行显示。比如,我们使用下面的语句:
 
QListWidget - ququ - linux 学习list->setViewMode(QListView::IconMode);
 
再来看看程序界面吧!
 

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

  评论这张
 
阅读(760)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017