pyqt5 QListWidget的用法解析

1、簡介

QListWidget 是一個升級版本的QListView , 它已經建立一個基於數據存儲模型(QListWidgetItem),直接調用addItem()函數就可以添加條目(Item)。

2、功能實現

# -*- coding: utf-8 -*-
'''
  【簡介】
 PyQt5中 QListWidget 例子
   
'''
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
class ListWidget(QListWidget):
 def clicked(self,item):
 QMessageBox.information(self, "ListWidget", "你選擇瞭: "+item.text())# 顯示出消息提示框
if __name__ == '__main__':
 app = QApplication(sys.argv)
 listWidget = ListWidget() #創建一個listWidget 實例
 listWidget.resize(300,120) #定義尺寸大小
 listWidget.addItem("Item 1"); #添加item
 listWidget.addItem("Item 2");
 listWidget.addItem("Item 3");
 listWidget.addItem("Item 4");
 listWidget.setWindowTitle('QListwidget 例子') #設置標題
 listWidget.itemClicked.connect(listWidget.clicked) #綁定點擊事件
 listWidget.show() 
 sys.exit(app.exec_())

補充:QListWidget右鍵菜單功能Demo

1.

ui.listWidget_Filelist->setContextMenuPolicy(Qt::CustomContextMenu);

2.

void SonicAttribute::on_listWidget_Filelist_customContextMenuRequested(const QPoint &pos)
{
 QListWidgetItem* curItem = ui.listWidget_Filelist->itemAt(pos);
 if (curItem == NULL)
 return;
 
 QMenu *popMenu = new QMenu(this);
 QAction *deleteSeed = new QAction(tr("Delete"), this);
 popMenu->addAction(deleteSeed);
 connect(deleteSeed, SIGNAL(triggered()), this, SLOT(deleteSeedSlot()));
 popMenu->exec(QCursor::pos());
 delete popMenu;
 delete deleteSeed;
}
 

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。

推薦閱讀: