在ListWidget中添加自定义的Item
来源:互联网 发布:老a淘宝工具箱 编辑:程序博客网 时间:2024/05/22 02:03
之前看过很多在ListWidget中添加item的方法,但是大部分都没能解决我的问题。
昨天把这个问题解决了,想着把它记下来。留个纪念吧。
先上一个图例。
就像这一样。这个是纯代码实现。以下是纯代码
#include "dialog.h"#include "ui_dialog.h"#include <QHBoxLayout>#include <QMap>Dialog::Dialog(QWidget *parent) : QDialog(parent), ui(new Ui::Dialog){ ui->setupUi(this); widget = new QWidget; listwidget = new QListWidget(this); layout = new QHBoxLayout(widget); lab1 = new QLabel; btn1 = new QPushButton; layout->addWidget(lab1); layout->addWidget(btn1); lab1->setText(tr("把整个widget放入到item中")); btn1->setText(tr("可点击")); widget->setLayout(layout); QListWidgetItem *aItem = new QListWidgetItem(listwidget); listwidget->addItem(aItem); listwidget->setItemWidget(aItem,widget); listwidget->setGeometry(0,0,300,350); aItem->setSizeHint(QSize(0,50)); widget->show();}Dialog::~Dialog(){ delete ui;}
但是就像我就觉得用代码太麻烦了。用ui设计又快又方便
就像这样,画出一个listwidget 一个widget在widget中按照自己的想法布局
接下来必须到代码中实现“塞入”的动作。
只要在构造函数中用
QListWidgetItem *nitem = new QListWidgetItem(ui->listWidget); ui->listWidget->addItem(nitem); ui->listWidget->setItemWidget(nitem,ui->widget);
这三句就搞定了。不过运行之后会发现
因为item的大小所以导致widget显示不完全。
所以需要注意设置item的大小。建议使用
aItem->setSizeHint(QSize(0,50));这样放大item的大小之后就可以正常显示自定义的widget的内容了。
2 0
- 在ListWidget中添加自定义的Item
- 在ListWidget中添加自定义的Item
- Qt在ListWidget中添加自定义ListItem对象
- Qt中listwidget中删除item的方法
- QT 中删除ListWidget中的一个item条目
- Qt 实现listWidget中项的检索
- 在ContextMenu中添加/删除ListView的Item
- 在ListView中添加item为WebView
- 在NSToolbar中添加自定义的toolbaritem
- 在caffe中添加自定义的layer
- 在caffe中添加自定义的layer
- 在RecyclerView中自定义Item点击监听
- 使Qt中listWidget在平板上有滑动属性
- buiw的MVC模型在ListWidget中的体现
- 在DTCoreText 中添加自定义的文章头,自定义View
- 遍历itemList是否含有listWidget列表里的item,有则移除
- QListWidge中item灰化以及添加自定义widget灰化!
- android中ListView在划屏到底部的时候动态添加ListView的Item实现
- MySQL会话变量 和 系统变量
- java定时器Timer的使用
- coreplot 支持64位解决
- C语言sscanf函数格式化参数用户手册
- PLSQL Developer登录的默认密码
- 在ListWidget中添加自定义的Item
- 用JAVA实现顺序表
- windows上安装Storm必定(之单机版)
- Unity 事件统一管理
- Facebook推出强大Android 自动释放内存的图片库Fresco
- php支付宝rsa验签报错
- 逻辑题
- 实数的认识
- 长投#基础知识