在写一个简单的文件浏览器时,遇到一个问题。想实现新建目录时能像一般的文件管理器那样,目录图标以下有一个编辑框提示用户给目录命名(例如以下图),可是不知道怎么给单元项QListWidgetItem加入QLineEdit控件。查了好久Qt帮助文档,最终发现了QListWidget::setItemWidget(),就试了一下。成功加入了,还算惬意。大家假设有更好的方法请告诉我。

void QListWidget::setItemWidget(QListWidgetItem * item, QWidget * widget)

设置在给定项目中显示的小部件。

此功能仅可用于在列表小部件项目的位置显示静态内容。假设你想显示自己定义的动态内容或运行自己定义编辑器部件,使用qlistview和子类化QItemDelegate取代。

这个功能介绍Qt 4.1。

关键代码:

//图片换成目录图标就能够
int main(int argc,char* argv[])
{
QApplication app(argc,argv); QListWidget *listWidget = new QListWidget();
listWidget->setSpacing(10);
listWidget->setViewMode(QListView::IconMode);
listWidget->setIconSize(QSize(100,100));
QPixmap pix1(QString(":/list/image/1.jpg"));
QPixmap pix2(":/list/image/2.jpg");
QListWidgetItem *item1 = new QListWidgetItem(QIcon(pix1.scaled(QSize(100,100))),"picture1");
QListWidgetItem *item2 = new QListWidgetItem(QIcon(pix2.scaled(QSize(100,100))),"picture2"); QLineEdit* line = new QLineEdit; //创建部件 listWidget->addItem(item1);
listWidget->addItem(item2); //先加入项目
item1->setSizeHint(QSize(100,120));
item2->setSizeHint(QSize(100,120)); listWidget->setItemWidget(item2,line); //加入部件
// listWidget->removeItemWidget(item2);
listWidget->show();
app.exec();
return 0;
}

void QListWidget::removeItemWidget(QListWidgetItem * item)

用于移除加入的部件

QListWidget加入小控件的更多相关文章

  1. android 之 桌面的小控件AppWidget

    AppWidget是创建的桌面窗口小控件,在这个小控件上允许我们进行一些操作(这个视自己的需要而定).作为菜鸟,我在这里将介绍一下AppWeight的简单使用. 1.在介绍AppWidget之前,我们 ...

  2. 怎样在Android实现桌面清理内存简单Widget小控件

    怎样在Android实现桌面清理内存简单Widget小控件 我们常常会看到类似于360.金山手机卫士一类的软件会带一个widget小控件,显示在桌面上,上面会显示现有内存大小,然后会带一个按键功能来一 ...

  3. 基于jquery 封装的 select 小控件,解决 IE6 7 8里 select 边框 高度 无法遮挡等问题

    一.基本原理 select控件在浏览器中是个永远的痛,不同的版本解析出来的可谓五花八门.主要有以下问题: 1,IE6中无法设置高度,Z INDEX永远在最上,无法被其它层遮挡 2,IE7中可以设置高度 ...

  4. MVC4加载zTree树小控件

    前言: 第一次学习使用MVC框架,找了个练手项目,加载zTree树小控件.下面我就一步步说明我这次练手的经历以记录.如果有什么错误,希望各位大神帮忙指正,谢谢. 第一步: 利用VS2010新建一个MV ...

  5. cesium编程入门(四)界面介绍及小控件隐藏

    感性认识 界面介绍,viewer Geocoder : 查找位置工具,查找到之后会将镜头对准找到的地址,默认使用bing地图 Home Button :视角返回初始位置. Scene Mode Pic ...

  6. cesium编程入门(四)界面介绍及小控件隐藏

    感性认识 界面介绍,viewer Geocoder : 查找位置工具,查找到之后会将镜头对准找到的地址,默认使用bing地图 Home Button :视角返回初始位置. Scene Mode Pic ...

  7. UI各种小控件的用法

    今天给大家列举出来UI中的一些小控件的用法.方便大的学习与使用 一些方法和属性我们能够查看API文档.不必将每一个控件的功能都记住, 由于在使用的过程中,我们能够查看API文档.方便使用,我们仅仅要记 ...

  8. 实现拖拽上传文件的一款小控件——dropzone

    由于专注所以专业.非常多小巧的东西乍一看非常不起眼,却在特定的领域表现不俗,就是由于集中了热情. dropzone就是这样一款小控件,实现拖拽上传.它不依赖于其他像jquery等JS库.并且支持多方面 ...

  9. cesium页面小控件的隐藏

    cesium页面小控件的隐藏 1   创建一个Viewer var viewer = new Cesium.Viewer('cesiumContainer');//cesiumContainer为di ...

随机推荐

  1. MAC下PHP开发

    ZendStudio 10.5安装: http://blog.sina.com.cn/s/blog_7c8dc2d50101nhvb.html PHP+MySQL+Apache开发环境安装:XAMPP ...

  2. MVC应用积累

    1.Controller中的跳转 (1)直接Redirect后加(Controller/Action):Response.Redirect("/Home/Index"); (2)直 ...

  3. 执行Socket socket = new Socket(ip, port);时抛出个异常:android.os.NetworkOnMainThreadException解决办法

    首先,确认你的android版本是4.0之后再用此方法解决,因为在4.0之后在主线程里面执行Http请求才会报这个错,也许是怕Http请求时间太长造成程序假死的情况吧.Android在4.0之前的版本 ...

  4. cocos2d-html5模板分析

    结构总览 js文件 src/myApp.js src/resource.js cocos2d.js cocos2d-jsb.js main.js 其他文件 build.xml index.html 具 ...

  5. 自定义UITableViewCell 的delete按钮

    自定义UITableViewCell上的delete按钮 滑动列表行(UITableViewCell)出现删除按钮时,默认是英文“delete”,这份代码片段能够将“delete”变成中文”删除“,甚 ...

  6. 商业价值:苹果iTV,再一次改变世界?

    苹果(Apple)公司打算进军智能电视领域,这在行业里已经不是秘密,有关苹果智能电视的消息也是不绝于耳,结合苹果产品线的命名规则,苹果智能 电视基本上就是iTV.就目前而言,Android智能系统已经 ...

  7. python3安装Beautiful Soup爬虫组件

    第一步:下载beautifulsoup4-4.3.2.tar.gz 第二步:拷贝解压缩目录到C:\Python34\beautifulsoup4-4.3.2 第三步: 第四步: 第五步:拷贝C:\Py ...

  8. maven中央仓库

    https://search.maven.org (查看版本和文件列表:http://repo1.maven.org/maven2/) http://mvnrepository.com/ https: ...

  9. 将Gradle项目公布到maven仓库

    将Gradle项目公布到maven仓库 1 Gradle简单介绍 1.1 Ant.Maven还是Gradle? 1.1.1 Ant和Maven介绍 全称为Apache Maven,是一个软件(特别是J ...

  10. HDUOJ ---悼念512汶川大地震遇难同胞——来生一起走

    悼念512汶川大地震遇难同胞——来生一起走 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot ...