Qt给QListWidget设置点击事件

一、概述

  案例:使用Qt编写一个ListView列表,并设置其点击事件

  思路:在QListWidget的事件中发现了两个比较像的,一个是clicked,一个pressed。因为是android出身,第一印象首选了clicked事件。利用connect(listview,listview:clicked,[=](QModelIndex pos){})来设置点击事件

  结果点击事件根本就不执行。最后参考了mousePressEvent事件,使用了pressed才最终执行了

二、代码示例

connect(listView,&MainListView::pressed,[=](QModelIndex pos){
        switch(pos.row()){
        case 0:
            waterWindwo.show();
            break;

        }

        qDebug()<<"点击了"<<pos.row();

    });
ps:
listView:自定义的QListWidget
&MainListView::pressed具体的点击是哪
最后是回调函数,其中QModelIndex代表执行或者点击了第几项。通过QModelIndex.row()表示

 

posted on 2022-03-08 13:09  飘杨......  阅读(4232)  评论(0编辑  收藏  举报