当前位置: 首页 > news >正文

QT之QListWidget的介绍

QListWidget常用成员函数

    • 1、成员函数介绍
    • 2、例子
      • 显示图片和按钮的例子

1、成员函数介绍

1)QListWidget(QWidget *parent = nullptr)
构造函数,创建一个新的QListWidget对象。

2)void addItem(const QString &label)
在列表末尾添加一个项目,项目标签为label。

3)void addItem(QListWidgetItem *item)
在列表末尾添加一个项目,项目为item。

4)void insertItem(int row, const QString &label)
在指定的行插入一个项目,项目标签为label。

5)void insertItem(int row, QListWidgetItem *item)
在指定的行插入一个项目,项目为item。

6)void removeItemWidget(QWidget *widget)
从列表中移除指定的widget。

7)int rowCount() const
返回列表中的行数。

8)QListWidgetItem *item(int row) const
返回指定行的项目。

9)QListWidgetItem *takeItem(int row)
移除并返回指定行的项目。

10)int currentRow() const
返回当前选中的行的索引。

11)void setCurrentRow(int row)
设置当前选中的行。

12)QListWidgetItem *currentItem() const
返回当前选中的项目。

13)void setCurrentItem(QListWidgetItem *item)
设置当前选中的项目。

14)void sortItems(Qt::SortOrder order = Qt::AscendingOrder)
按照指定的顺序对列表中的项目进行排序。

15)void clear()
移除列表中的所有项目。

16)void setSelectionMode(QAbstractItemView::SelectionMode mode)
设置列表的选择模式。

17)QAbstractItemView::SelectionMode selectionMode() const
返回列表的当前选择模式。

注意,对于大部分函数来说,如果列表为空或者索引超出范围,它们将不会有任何效果。此外,对列表的更改可能会触发一些信号,如itemChanged、itemClicked等,你可以通过连接这些信号来响应用户的交互。

2、例子

显示图片和按钮的例子

QListWidget中显示图片和按钮,你需要创建自定义的列表项。QListWidget本身并不直接支持这种功能,但是你可以通过创建自定义的QWidget,然后将它们添加到QListWidget中来实现。

#include <QApplication>  
#include <QListWidget>  
#include <QListWidgetItem>  
#include <QPushButton>  
#include <QLabel>  
#include <QHBoxLayout>  
#include <QWidget>  
#include <QVBoxLayout>  
#include <QPixmap>  class CustomItem : public QWidget {  
public:  CustomItem(const QString& text, const QPixmap& pixmap, QWidget* parent = nullptr)   : QWidget(parent), textLabel(new QLabel(text, this)), pixmapLabel(new QLabel(this)), button(new QPushButton("Button", this)) {  QHBoxLayout* layout = new QHBoxLayout(this);  layout->addWidget(textLabel);  layout->addWidget(pixmapLabel);  layout->addWidget(button);  setLayout(layout);  pixmapLabel->setPixmap(pixmap);  }  private:  QLabel* textLabel;  QLabel* pixmapLabel;  QPushButton* button;  
};  int main(int argc, char *argv[])  
{  QApplication app(argc, argv);  QListWidget listWidget;  QPixmap pixmap("path_to_your_image.jpg"); // Replace with the actual path to your image.  listWidget.addItem(new QListWidgetItem(new CustomItem("Item 1", pixmap)));  listWidget.addItem(new QListWidgetItem(new CustomItem("Item 2", pixmap)));  listWidget.addItem(new QListWidgetItem(new CustomItem("Item 3", pixmap)));  listWidget.show();  return app.exec();  
}

在这个例子中,我创建了一个名为CustomItem的自定义QWidget类,它包含一个QLabel用于显示文本,一个QLabel用于显示图片,以及一个QPushButton。然后,我创建了一个QListWidget,并使用这个自定义的部件创建了三个列表项。

http://www.lryc.cn/news/173050.html

相关文章:

  • 数据结构--排序(1)
  • 【AI视野·今日NLP 自然语言处理论文速览 第三十七期】Thu, 21 Sep 2023
  • 高防服务器防护效果怎么样?
  • tomcat架构概览
  • 海康的资料
  • 【ELFK】之消息队列kafka
  • Qt核心:元对象系统、属性系统、对象树、信号槽
  • 【若依框架2】前后端分离版本添加功能页
  • Unity Bolt模块间通信
  • please choose a certificate and try again.(-5)报错怎么解决
  • 国产自研BI系统,更懂中国企业数据分析需求
  • 基于Java的高校竞赛管理系统设计与实现(亮点:发起比赛、报名、审核、评委打分、获奖排名,可随意更换主题如蓝桥杯、ACM、王者荣耀、吃鸡等竞赛)
  • 出血性脑卒中临床智能诊疗建模
  • Cesium 空间量算——生成点位坐标
  • 为什么曲面函数的偏导数可以表示其曲面的法向量?
  • ❤Uniapp报npx update-browserslist-db@latest
  • 【C++】静态成员函数 ( 静态成员函数概念 | 静态成员函数声明 | 静态成员函数访问 | 静态成员函数只能访问静态成员 )
  • 基于若依ruoyi-nbcio增加flowable流程待办消息的提醒,并提供右上角的红字数字提醒(三)
  • 用友第五届开发者大赛初赛晋级公示,复赛火热进行中!
  • SSL证书如何做到保障网站安全?
  • C# Onnx Yolov8 Detect Poker 扑克牌识别
  • 想要精通算法和SQL的成长之路 - 最长等差数列
  • 【简单的自动曝光】python实现-附ChatGPT解析
  • 网工内推 | 运维工程师,CCNP认证优先,周末双休,多次调薪机会
  • LeetCode 1337. The K Weakest Rows in a Matrix【数组,二分,堆,快速选择,排序】1224
  • 如何使用Spring提供的Retry
  • 【ONE·Linux || 进程间通信】
  • 207.Flink(二):架构及核心概念,flink从各种数据源读取数据,各种算子转化数据,将数据推送到各数据源
  • debian终端快捷键设置
  • 原生ajax