Qt在ListWidget中添加自定义ListItem对象
来源:互联网 发布:37传奇霸业 血符数据 编辑:程序博客网 时间:2024/06/05 20:42
Qt中的QListWidget可以实现一个列表,比如网页上经常出现的下拉列表框,其中一行就是一个ListItem,在添加时,常用的函数是QListWidget::addItem(QListWidgetItem * item),但这样只能添加QListWidgetItem这样的对象,如果想到像QQ等软件使用自定义的ListItem,一个简单的方法是自定义一个QWidget,然后使用QListWidget::setItemWidget(QListWidgetItem * item, QWidget * widget)来设置它的显示widget.
自定义一个widget
首先,自定义了一个QWidget,作为QListWidgetItem的子元素,所有的布局都在这个widget中完成,它便是后来显示的每个小条目.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
class
customItem1 :
public
QWidget
{
Q_OBJECT
public
:
explicit
customItem1(QWidget *parent,
const
QIcon& icon1,
const
QString& text1,
const
QString& text2);
signals:
public
slots:
private
:
QLabel icon1;
QLabel text1;
QLabel text2;
};
class
customItem2 :
public
QWidget
{
Q_OBJECT
public
:
explicit
customItem2(QWidget *parent,
const
QIcon& icon1,
const
QIcon& icon2,
const
QString& text1,
const
QString& text2);
signals:
public
slots:
private
:
QLabel icon1;
QLabel icon2;
QLabel text1;
QLabel text2;
};
添加自定义Item
首先,添加一个QListWidgetItem,然后为其设置Widget为我们自定义的Widget:
1
2
3
4
5
6
customItem1 *custom1 =
new
customItem1(
this
, icon1, text1, text2);
QListWidgetItem *listItem1 =
new
QListWidgetItem();
listItem1->setSizeHint(QSize(0, 50));
ui->listWidget->addItem(listItem1);
ui->listWidget->setItemWidget(listItem1, custom1);
阅读全文
0 0
- Qt在ListWidget中添加自定义ListItem对象
- 在ListWidget中添加自定义的Item
- 在ListWidget中添加自定义的Item
- 使Qt中listWidget在平板上有滑动属性
- QT中ListWidget焦点问题
- Qt 实现listWidget中项的检索
- QT中如何在QListWidget中添加自定义的 tiem
- c#(winform)中自定义ListItem类方便ComboBox和ListBox添加项完全解决
- Qt中listwidget中删除item的方法
- QT中如何逐行读取文本内容到listwidget中
- QT从Listwidget中逐行读取数据到文本中
- 在ListItem某组件添加响应事件
- 在Qt Creator中添加自定义向导(Project / Class)
- QT 中删除ListWidget中的一个item条目
- [第三季]11.在TreeSet中添加自定义对象
- qt listWIdget设置可以编辑
- Qt添加自定义控件并在qtDesigner中使用以及链接失败的解决方法
- Qt中序列化自定义对象
- 高德地图开发之点标注marker
- C--最短路 (spfa算法)
- Irrlicht 源码学习笔记 【CFileList.h/cpp】【CReadFile.h/cpp】【CMemoryReadFile.h/cpp】
- vue路由带参跳转,刷新后参数不消失
- leetcode520. Detect Capital
- Qt在ListWidget中添加自定义ListItem对象
- 结构化查询语言
- git github gitlab的区别
- Typora的使用
- 约瑟夫环问题
- &和&&的区别?【Java面试题】
- jQuery---2
- scala之向Excel里面动态添加数据
- Python8-10行代码生成任意形状的文字云图