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

QListWidgetItem的函数介绍

Qt版本

6.8.0

在这里插入图片描述

枚举

QListWidgetItem::ItemType 是 Qt 中用于标识 QListWidgetItem 类型的枚举,便于自定义和区分不同类型的列表项。
它的定义如下:


1. 标准定义

enum QListWidgetItem::ItemType {Type = 0,         // 默认类型UserType = 1000   // 用户自定义类型的起始值
};

2. 说明

  • Type

    • 值为 0
    • 表示标准的、普通的列表项类型。
    • 绝大多数情况下,直接使用即可。
  • UserType

    • 值为 1000
    • 用户自定义类型的起始值。
    • 如果你需要区分不同的自定义项类型,可以用 UserType 及其以上的值。

3. 自定义类型的用法

你可以通过继承 QListWidgetItem 或直接传递 type 参数来创建自定义类型的项。例如:

// 创建一个自定义类型的项
QListWidgetItem *item = new QListWidgetItem("自定义项", listWidget, QListWidgetItem::UserType + 1);// 判断类型
if (item->type() == QListWidgetItem::UserType + 1) {// 这是自定义类型
}

4. 典型场景

  • 当你需要在同一个 QListWidget 里放多种不同类型的项,并且希望能区分它们时,可以用 type()ItemType
  • 例如:普通项、分组项、特殊功能项等。

公共函数

1. QListWidgetItem(QListWidget *parent = nullptr, int type = Type)

  • 作用:创建一个空的列表项,可指定父 QListWidget 和类型。
  • 参数
    • parent:所属的 QListWidget(可选)
    • type:项类型(默认 Type)
  • 返回值:构造函数,无返回值
  • 示例
    QListWidgetItem *item = new QListWidgetItem(listWidget);
    

2. QListWidgetItem(const QString &text, QListWidget *parent = nullptr, int type = Type)

  • 作用:创建带文本的列表项。
  • 参数
    • text:显示文本
    • parent:所属 QListWidget(可选)
    • type:项类型(可选)
  • 返回值:构造函数
  • 示例
    QListWidgetItem *item = new QListWidgetItem("Hello", listWidget);
    

3. QListWidgetItem(const QIcon &icon, const QString &text, QListWidget *parent = nullptr, int type = Type)

  • 作用:创建带图标和文本的列表项。
  • 参数
    • icon:图标
    • text:文本
    • parent:所属 QListWidget(可选)
    • type:项类型(可选)
  • 返回值:构造函数
  • 示例
    QListWidgetItem *item = new QListWidgetItem(QIcon(":/icon.png"), "带图标", listWidget);
    

4. QListWidgetItem(const QListWidgetItem &other)

  • 作用:拷贝构造函数,复制一个列表项。
  • 参数other:要复制的项
  • 返回值:构造函数
  • 示例
    QListWidgetItem copyItem(*item);
    

5. virtual ~QListWidgetItem()

  • 作用:析构函数,释放资源。
  • 参数:无
  • 返回值:无
  • 示例:自动调用,无需手动使用。

6. QBrush background() const

  • 作用:获取项的背景画刷。
  • 参数:无
  • 返回值:QBrush
  • 示例
    QBrush bg = item->background();
    

7. Qt::CheckState checkState() const

  • 作用:获取复选框状态。
  • 参数:无
  • 返回值:Qt::CheckState(Unchecked, PartiallyChecked, Checked)
  • 示例
    Qt::CheckState state = item->checkState();
    

8. virtual QListWidgetItem *clone() const

  • 作用:克隆当前项,返回新对象指针。
  • 参数:无
  • 返回值:QListWidgetItem*
  • 示例
    QListWidgetItem *newItem = item->clone();
    

9. virtual QVariant data(int role) const

  • 作用:获取指定角色的数据。
  • 参数role:数据角色(如 DisplayRole, UserRole 等)
  • 返回值:QVariant
  • 示例
    QVariant v = item->data(Qt::DisplayRole);
    

10. Qt::ItemFlags flags() const

  • 作用:获取项的标志(可选、可编辑等)。
  • 参数:无
  • 返回值:Qt::ItemFlags
  • 示例
    Qt::ItemFlags f = item->flags();
    

11. QFont font() const

  • 作用:获取项的字体。
  • 参数:无
  • 返回值:QFont
  • 示例
    QFont font = item->font();
    

12. QBrush foreground() const

  • 作用:获取项的前景画刷(通常是文本颜色)。
  • 参数:无
  • 返回值:QBrush
  • 示例
    QBrush fg = item->foreground();
    

13. QIcon icon() const

  • 作用:获取项的图标。
  • 参数:无
  • 返回值:QIcon
  • 示例
    QIcon icon = item->icon();
    

14. bool isHidden() const

  • 作用:判断项是否隐藏。
  • 参数:无
  • 返回值:bool
  • 示例
    bool hidden = item->isHidden();
    

15. bool isSelected() const

  • 作用:判断项是否被选中。
  • 参数:无
  • 返回值:bool
  • 示例
    bool selected = item->isSelected();
    

16. QListWidget *listWidget() const

  • 作用:获取所属的 QListWidget。
  • 参数:无
  • 返回值:QListWidget*
  • 示例
    QListWidget *w = item->listWidget();
    

17. virtual void read(QDataStream &in)

  • 作用:从数据流读取项的数据(反序列化)。
  • 参数in:QDataStream
  • 返回值:无
  • 示例
    QDataStream in(&file);
    item->read(in);
    

18. void setBackground(const QBrush &brush)

  • 作用:设置背景画刷。
  • 参数brush:QBrush
  • 返回值:无
  • 示例
    item->setBackground(QBrush(Qt::yellow));
    

19. void setCheckState(Qt::CheckState state)

  • 作用:设置复选框状态。
  • 参数state:Qt::CheckState
  • 返回值:无
  • 示例
    item->setCheckState(Qt::Checked);
    

20. virtual void setData(int role, const QVariant &value)

  • 作用:为指定角色设置数据。
  • 参数
    • role:数据角色
    • value:数据
  • 返回值:无
  • 示例
    item->setData(Qt::UserRole, 123);
    

21. void setFlags(Qt::ItemFlags flags)

  • 作用:设置项的标志(可选、可编辑等)。
  • 参数flags:Qt::ItemFlags
  • 返回值:无
  • 示例
    item->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEditable);
    

22. void setFont(const QFont &font)

  • 作用:设置字体。
  • 参数font:QFont
  • 返回值:无
  • 示例
    item->setFont(QFont("Arial", 12));
    

23. void setForeground(const QBrush &brush)

  • 作用:设置前景画刷(文本颜色)。
  • 参数brush:QBrush
  • 返回值:无
  • 示例
    item->setForeground(QBrush(Qt::red));
    

24. void setHidden(bool hide)

  • 作用:设置项是否隐藏。
  • 参数hide:bool
  • 返回值:无
  • 示例
    item->setHidden(true);
    

25. void setIcon(const QIcon &icon)

  • 作用:设置图标。
  • 参数icon:QIcon
  • 返回值:无
  • 示例
    item->setIcon(QIcon(":/icon.png"));
    

26. void setSelected(bool select)

  • 作用:设置项是否选中。
  • 参数select:bool
  • 返回值:无
  • 示例
    item->setSelected(true);
    

27. void setSizeHint(const QSize &size)

  • 作用:设置项的建议显示大小。
  • 参数size:QSize
  • 返回值:无
  • 示例
    item->setSizeHint(QSize(100, 30));
    

28. void setStatusTip(const QString &statusTip)

  • 作用:设置状态栏提示文本。
  • 参数statusTip:QString
  • 返回值:无
  • 示例
    item->setStatusTip("状态栏提示");
    

29. void setText(const QString &text)

  • 作用:设置显示文本。
  • 参数text:QString
  • 返回值:无
  • 示例
    item->setText("新文本");
    

30. (since 6.4) void setTextAlignment(Qt::Alignment alignment)

  • 作用:设置文本对齐方式。
  • 参数alignment:Qt::Alignment
  • 返回值:无
  • 示例
    item->setTextAlignment(Qt::AlignCenter);
    

31. void setToolTip(const QString &toolTip)

  • 作用:设置悬浮提示文本。
  • 参数toolTip:QString
  • 返回值:无
  • 示例
    item->setToolTip("悬浮提示");
    

32. void setWhatsThis(const QString &whatsThis)

  • 作用:设置 What’s This 帮助文本。
  • 参数whatsThis:QString
  • 返回值:无
  • 示例
    item->setWhatsThis("帮助信息");
    

33. QSize sizeHint() const

  • 作用:获取建议显示大小。
  • 参数:无
  • 返回值:QSize
  • 示例
    QSize sz = item->sizeHint();
    

34. QString statusTip() const

  • 作用:获取状态栏提示文本。
  • 参数:无
  • 返回值:QString
  • 示例
    QString tip = item->statusTip();
    

35. QString text() const

  • 作用:获取显示文本。
  • 参数:无
  • 返回值:QString
  • 示例
    QString t = item->text();
    

36. int textAlignment() const

  • 作用:获取文本对齐方式。
  • 参数:无
  • 返回值:int(Qt::Alignment)
  • 示例
    int align = item->textAlignment();
    

37. QString toolTip() const

  • 作用:获取悬浮提示文本。
  • 参数:无
  • 返回值:QString
  • 示例
    QString tip = item->toolTip();
    

38. int type() const

  • 作用:获取项类型(用于区分自定义子类)。
  • 参数:无
  • 返回值:int
  • 示例
    int t = item->type();
    

39. QString whatsThis() const

  • 作用:获取 What’s This 帮助文本。
  • 参数:无
  • 返回值:QString
  • 示例
    QString help = item->whatsThis();
    

40. virtual void write(QDataStream &out) const

  • 作用:将项的数据写入数据流(序列化)。
  • 参数out:QDataStream
  • 返回值:无
  • 示例
    QDataStream out(&file);
    item->write(out);
    

41. virtual bool operator<(const QListWidgetItem &other) const

  • 作用:比较两个项的大小(排序用)。
  • 参数other:另一个项
  • 返回值:bool
  • 示例
    bool less = (*item1 < *item2);
    

42. QListWidgetItem & operator=(const QListWidgetItem &other)

  • 作用:赋值运算符,复制另一个项的内容。
  • 参数other:另一个项
  • 返回值:自身引用
  • 示例
    *item1 = *item2;
    

相关文章:

  • webpack面试问题
  • Maven基础篇
  • 使用Vue3制作一款个性化上传组件
  • 【LangChain全栈开发指南】从LLM应用到企业级AI助手构建
  • 理解计算机系统_线程(八):并行
  • 塑料杯子什么材质最好,用起来是不是安全?
  • 华为OD机试真题—— 判断字符串子序列(2025B卷:100分)Java/python/JavaScript/C/C++/GO最佳实现
  • 认识文件系统
  • VMware+Windows 11 跳过安装阶段微软账号登录
  • 高性能无堆分配函数包装器的设计与实现原理(C/C++代码实现)
  • NumPy 数组重塑
  • 慢查询日志的开启与分析:优化SQL性能的实战指南
  • Win11亮度条和亮度设置消失的解决方法
  • 位运算基本知识:异或,左移,右移
  • 蓝桥杯178 全球变暖
  • 【辰辉创聚生物】FGF信号通路相关蛋白:解码生命调控的关键枢纽
  • some java面试题
  • C++23内存分配新特性:std::allocate_at_least
  • Linux 内核学习(8) --- 字符设备操作函数
  • 独占内存访问工作原理
  • 威海医院网站制作/网店推广策划方案
  • 深圳好的网站建/市场推广方式有哪几种
  • 福州网站建设 大公司/推广方案怎么写
  • 网站建设后台管理/百度关键词搜索趋势
  • 网站留言怎么做/最近几天的新闻大事
  • 专注江苏网站建设/网络推广哪个平台最好