QListWidget添加小控件
来源:互联网 发布:炒股软件免费下载 编辑:程序博客网 时间:2024/06/15 08:42
在写一个简单的文件浏览器时,遇到一个问题,想实现新建文件夹时能像一般的文件管理器那样,文件夹图标下面有一个编辑框提示用户给文件夹命名(如下图),但是不知道怎么给单元项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)
用于移除添加的部件
0 0
- QListWidget添加小控件
- QListWidget添加QCheckBox控件
- QListWidget添加自定义QWidget
- QListWidget控件的使用
- QListWidget列表控件
- QListWidget 控件的学习
- QListWidget控件的使用
- QT常用控件之QListWidget
- 给控件添加小图标
- QListWidget
- QListWidget
- QListWidget
- QListWidget
- QListWidget
- QListWidget
- QListWidget
- QlistWidget
- QListwidget
- Android Studio安装及首次运行遇到的问题
- 黑马程序员----JAVA基础----IO流_2
- [LeetCode]Climbing Stairs
- 2015.07.22总结
- linux程序设计——主机字节序和网络字节序(第十五章)
- QListWidget添加小控件
- Clock类(未完善)
- pat 1023. Have Fun with Numbers (20)
- Selenium学习笔记之012:处理下拉框
- 【Linux】FrameBuffer操作入门
- HDU--2502 月之数
- 浏览器的引擎
- 2015072204 - 侵蚀
- 第16章:多态性