qt学习:QListWidget控件+自定义条目项+双击删除+单击获取

这篇具有很好参考价值的文章主要介绍了qt学习:QListWidget控件+自定义条目项+双击删除+单击获取。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

图片

头函数

接口

 显示案例

方法1

方法2

方法3  

方法4  自定义

方法5  在方法4上实现


图片

qt学习:QListWidget控件+自定义条目项+双击删除+单击获取,qt,qt,学习,开发语言

头函数

#include <QListWidgetItem>

接口

//不怎么常用
    void addItem(const QString &label)
    void addItems(const QStringList &labels)
//自定义条目项 常用
    void addItem(QListWidgetItem *item)
//将当前界面 和 条目项绑定起来
    void setItemWidget(QListWidgetItem *item,QWidget *widget)

 显示案例

方法1

    //1、方法1 void addItem(const QString &label)
    ui->listWidget->addItem("条目项1");
    ui->listWidget->addItem("条目项2");
    ui->listWidget->addItem("条目项3");
    ui->listWidget->addItem("条目项4");
    ui->listWidget->addItem("条目项5");

qt学习:QListWidget控件+自定义条目项+双击删除+单击获取,qt,qt,学习,开发语言

方法2

    //2、方法2 void addItems(const QStringList &labels)
    QStringList list;
    list<<"条目项6"<<"条目项7"<<"条目项8"<<"条目项9";
    ui->listWidget->addItems(list);

qt学习:QListWidget控件+自定义条目项+双击删除+单击获取,qt,qt,学习,开发语言

方法3  

    QListWidgetItem *item = new QListWidgetItem;
    item->setText("条目项10");
    item->setIcon(QIcon(":/file.png"));
    item->setSizeHint(QSize(ui->listWidget->width(),50));
    ui->listWidget->addItem(item);

qt学习:QListWidget控件+自定义条目项+双击删除+单击获取,qt,qt,学习,开发语言

方法4  自定义

新建一个条目项类  itemwidget界面,配置ui界面,四个label,

qt学习:QListWidget控件+自定义条目项+双击删除+单击获取,qt,qt,学习,开发语言

    先加入头文件ItemWidget
    //1、实例化一个条目项类的对象
    QListWidgetItem *item = new QListWidgetItem;

    //2、实例化一个自定义条目项界面类的对象
    ItemWidget *widget = new ItemWidget;

    //3、将条目项 添加到 列表控件上
    ui->listWidget->addItem(item);

    //4、将当前界面 和 条目项绑定起来
    ui->listWidget->setItemWidget(item,widget);

    //5、根据自定义条目项的界面大小  动态 调整 条目项的大小
    item->setSizeHint(widget->size());

qt学习:QListWidget控件+自定义条目项+双击删除+单击获取,qt,qt,学习,开发语言

方法5  在方法4上实现

实现listWidget的双击按钮事件

//列表控件 双击的时候 发射 itemDoubleClicked 信号,执行该槽函数
void Widget::on_listWidget_itemDoubleClicked(QListWidgetItem *item)
{
    //双击删除
    //返回 你要删除的那个条目项对象指针,需要我们用户手动删除
    //1、先获取你要删除的条目项的那一行的索引号
    int row = ui->listWidget->currentRow();
    //2、获取删除的条目项
    QListWidgetItem *delItem = ui->listWidget->takeItem(row);
    //3、删除
    delete delItem;
}

实现listWidget的单击按钮事件文章来源地址https://www.toymoban.com/news/detail-823743.html

//单击信号
void Widget::on_listWidget_itemClicked(QListWidgetItem *item)
{
    qDebug()<<"11";
    //item就是我们点击的条目项
    //其实我们想要获取的是点击的那个条目项所绑定的界面类对象指针
    //ui->listWidget->itemWidget(item)原本是QWidget类型,
    //如果是QWidget *widget = ui->listWidget->itemWidget(item); 就是基类指针指向派生类对象
    //dynamic_cast<ItemWidget*>动态类型转换成ItemWidget
    ItemWidget *widget = dynamic_cast<ItemWidget*>(ui->listWidget->itemWidget(item)) ;
    //widget就是我们选中的条目项的指针,可以获取里面的控件和数据了
    //例如调用界面的一个函数,widget->name();
}

到了这里,关于qt学习:QListWidget控件+自定义条目项+双击删除+单击获取的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity 单击、双击、长按事件处理

    想要一个工具,能够同时集成单击、双击、长按的功能 通过IPointerDownHandler, IPointerUpHandler, IPointerClickHandler这三个接口就可以监听点击状态,然后再通过不同的点击状态来处理相应的事件 由于可能同时存在多个事件,实际开发过程中会出现多余事件通知,如下: 同时拥有单击

    2024年02月11日
    浏览(54)
  • 按键状态机(实现单击,长按,双击)的模块分享

    目录 一、相关说明 二、分析 三、模块代码 三、代码讲解 四、作者的话         1.需要的资源:一个定时器,一个按键。         2.相关设置:利用定时器计时中断,10ms进行一次按键扫描。         3.使用说明:定时器中断的优先级要设置高一点,相关的宏定义可以

    2024年02月07日
    浏览(66)
  • QT动态生成控件与删除动态控件

    目录 一、结果展示 二、删除动态控件方法 三、工程代码 1.工程文件 2.文件代码 如下图所示,点击左侧按钮时,删除原有的3组控件,并生成6组控件;点击右侧按钮时,删除原有的6组控件,并生成3组控件。 图1-1 动态生成和删除控件 工程文件如下图所示  图3-1 工程文件 界面

    2024年02月12日
    浏览(67)
  • STM32独立按键实现单击双击长按功能

    目录 前言 一、按键功能定义 二、使用步骤 1.按键初始化 2.按键扫描函数(重点) 总结 在使用STM32或其他单片机开发项目时,经常需要用到独立按键进行控制。 通常一个独立按键需要使用一个IO口,如果项目需要按键实现多个功能,往往需要使用到多个按键,需要使用到多个

    2023年04月17日
    浏览(46)
  • antd table的单击事件和双击事件冲突

    问题:当table上同时有onClick和onDoubleClick时,双击会一直触发单击事件。 解决方法:使用延迟定时器-setTimeout                   单击事件延迟执行,如果检测到连续点击,则是双击事件,不再执行单击事件。 代码实现:

    2024年01月25日
    浏览(52)
  • Unity InputSystem 实现同一按键单击、双击、长按执行不同逻辑

    最近学习了一下Unity InputSystem。该系统可用于实现、管理复杂的操作逻辑,上限很高。但由于它有一定的学习成本,导致一些和我一样的小白一入门时不得要领。之前卡住我的一个需求就是通过InputSystem 实现同一按键单击、双击、长按执行不同逻辑。例如点击单位执行攻击、

    2024年02月05日
    浏览(55)
  • unity鼠标单击物体与双击物体触发不同的事件

    下面举例在unity里面Canvas下面添加一个image,当鼠标移动到image点击一次触发事件 Debug.Log(“SingleClick!”);当鼠标在image点击两次触发事件 Debug.Log(“DoubleClick!”);鼠标双击和单机出现不同的响应事件 在Canvas或者需要点击的父物体上添加组件EventTrigger,打开 Add New Trigger 的菜单,添

    2024年02月11日
    浏览(50)
  • 【Unity知识点详解】Button点击事件拓展,单击、双击、长按实现

    Button拓展         今天来聊一下关于Button的事件拓展,这里只是拿Button来举例,Unity中其他的UI组件如Toggle、Slider等都也适用。         我们知道在Button中我们可以通过onClick的方式来添加点击事件,但在游戏开发过程中我们往往对Button有着更多的功能需求,比如说双击、

    2024年04月10日
    浏览(50)
  • Unity3D实现UI的单击、双击、拖动状态判断

    这篇文章就来实现UI的单击、双击、按压、拖动的不同状态判断。不定时更新Unity开发技巧,觉得有用记得一键三连哦。 示例、 判断单击和双击,主要是判断点击的次数。 UI的点击事件,需要继承UI的点击事件接口,重写点击事件即可。 UI点击事件接口: 3-1-1 所引用的命名空

    2024年01月20日
    浏览(56)
  • 重写QTableView类解决鼠标右击、单击、双击问题(附使用方法)

    目录 一.重写响应事件 1.区分单击和右击 如何使用 2.区分单击和双击

    2024年02月15日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包