一、概述
案例:使用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()表示