PyQt5刪除QListWidget中的item
app = qtw.QApplication(sys.argv)
win = qtw.QMainWindow()
def build():
ui = d1.Ui_Form()
ui.setupUi(win)
ui.pbtn_add.clicked.connect(add_item)
ui.pbtn_remove.clicked.connect(remove_item)
def add_item():
lst = win.findChild(QListWidget,'lw')
item = qtw.QListWidgetItem(lst)
dt = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
item.setText(dt)
item.setToolTip(f'當前時間:{dt}')
def remove_item():
lst = win.findChild(QListWidget,'lw')
if lst.count()>0:
for i in range(lst.count()-1,-1,-1):
item = lst.item(i)
if item.isSelected():
lst.removeItemWidget(lst.takeItem(i))
def main():
build()
win.show()
sys.exit(app.exec())
main()
新增按鈕會在QListWidget中新增當前的事件,而刪除按鈕是用來刪除選中的QListWidgetItem物件的.
刪除按鈕的點選訊號連線到了槽函式remove_item,函式首先利用容器和QListWidget的objectName反射找到QListWidget物件.
然後開始遍歷QListWidget中的item,因為遍歷要跟著刪除,所以採用倒遍歷的方式.
如果發現一個item是被選中的,那麼要用takeItem函式將這個位置的item選出來,選出會讓該item與QListWidget割斷聯絡,然後再用removeItemWidget將其刪除.
QListWidget只能刪除割斷聯絡的item,所以,沒有選出(takeItem)的item是不能被刪除的.
相關文章
- 【PyQt5】使用 QListWidget 實現 刪除 與 新增QT
- [PyQt5] 使用 QListWidget 實現 刪除 與 新增QT
- PyQT5之QListWidgetQT
- 【PyQt5】QListWidget 使用方法QT
- [PyQt5] QListWidget 使用方法QT
- Android recyclerview刪除item重新整理列表AndroidView
- ListView 實現帶有Filpper效果的左右滑動刪除 ItemView
- RecyclerView增刪itemView
- javascript刪除字串中的空格JavaScript字串
- 刪除字串中的子串字串
- 原生js實現一個側滑刪除取消元件(item slide)JS元件IDE
- 刪除Kafka中topicKafka
- jQuery中點選刪除,顯示是否要刪除jQuery
- phalcon框架中的軟刪除框架
- PHP刪除字串中的逗號PHP字串
- Js刪除字串中的指定字串JS字串
- js如何刪除字串中的空格JS字串
- JavaScript刪除字串中的指定字元JavaScript字串字元
- 批量刪除檔案中的^M
- excel中的列印線如何刪除Excel
- 刪除Repository中的檔案
- oracle中的級聯刪除(轉)Oracle
- 刪除檔案中的數字
- C#中刪除DataTable中的行的方法C#
- SAP MM已經轉成PO的採購申請Item依舊可以被刪除?
- 【PyQt5】在使用 QListWidget 時,如何實現點選按鈕來獲取當前行!QT
- WPF中的ListBox怎麼新增刪除按鈕並刪除所在行
- ITEM中的屬性控制
- ITEM中的UNIT OF PRIMARY.
- Oracle中刪除表中的重複資料Oracle
- 如何永久刪除Mac中的檔案?Mac
- javascript刪除字串中的html標籤JavaScript字串HTML
- JavaScript刪除字串中重複的字元JavaScript字串字元
- 如何刪除ArrayList中的重複元素
- 快速刪除excel中的空行和列Excel
- RAC中刪除特定instance的sessionSession
- 如何刪除大表中的資料
- 找回Oracle中Delete刪除的記錄Oracledelete