qt listview(Qt列表知多少)

一、简介: QListWidget是Qt提供的列表控件。它的父类是QListView,实际上QListWidget是一个自带model的view。通常情况下搭配QListWidgetItem(以下简称item)使用。 二:入门: QListWidget的...

一、简介:

QListWidget是Qt提供的列表控件。它的父类是QListView,实际上QListWidget是一个自带model的view。通常情况下搭配QListWidgetItem(以下简称item)使用。

二:入门:

QListWidget的入门非常简单。只需要添加item就行了。

QListWidget* list = new QListWidget(this); list->addItem("item 1"); list->addItem("item 2"); list->addItem("item 3");

Qt列表知多少?

实际上仅用两行代码就入门了。QListWidget还有其他添加item的方法(add和Insert):

Qt列表知多少?

Qt列表知多少?

三、精进之路:

1.获取QListWidgetItem.

一开始的时候说了QListWidget要搭配QListWidgetItem来使用,所以在进一步玩QListWidget之前我们要学会获取item。获取item的方法有很多种:

Qt列表知多少?

2.美化列表.

在Qt中要说到美化,我第一时间想到的就是样式表了。不过这里不讨论样式表,看看它自己的函数怎么玩。

2.1设置item的图标使用 void setIcon(const QIcon &icon)

2.2设置item的文字颜色使用 void setForeground(const QBrush &brush)

2.3设置item的背景颜色使用 void setBackground(const QBrush &brush)

2.4设置item的文字字体使用 void setFont(const QFont &font)

2.5设置item的大小使用void setSizeHint(const QSize &size)

2.6设置i**文本对齐方式使用void setTextAlignment(int alignment)

Qt列表知多少?

Qt列表知多少?

3.编辑item。

使用openPersistentEditor开启编辑一个item,与之对应的函数是closePersistentEditor,测试代码:

Qt列表知多少?

Qt列表知多少?

4.拖拽item。

单纯的编辑还不能**我们的需求,我们有时需要直接拖动Item来**他们的顺序。拖拽并非QListWidget独有的功能,它的祖先就有了这个功能。

list->setDragDropMode(QListWidget::InternalMove);

Qt列表知多少?

值得注意的是拖拽不仅仅可以在内部进行,还可以在多个控件中进行。

5.横着排

以上看到的列表都是垂直方向排列的,列表也能横着排。void setFlow(Flow flow),把flow的值设置为LeftToRight。搭配

void setWrapping(bool enable)使用可以让列表一直排成一行。

list->setFlow(QListWidget::LeftToRight);

Qt列表知多少?

6.图标模式

在某些应用场景下列表只需要展示图片,那么这时候使用图标模式就很适合了。void setViewMode(ViewMode mode),图标模式下Icon会**很大。

list->setViewMode(QListWidget::IconMode);

Qt列表知多少?

若不要文本,只需要把文本设置为空即可。

作者:fearlazy。您的关注是我继续分享的最大动力!o(* ̄︶ ̄*)o

qt listview(Qt列表知多少)

  • 发表于 2022-12-18 14:18:10
  • 阅读 ( 287 )
  • 分类:科技

0 条评论

请先 登录 后评论
138
138

438 篇文章

你可能感兴趣的文章

相关问题