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
- RecyclerView增刪itemView
- 原生js實現一個側滑刪除取消元件(item slide)JS元件IDE
- phalcon框架中的軟刪除框架
- SAP MM已經轉成PO的採購申請Item依舊可以被刪除?
- WPF中的ListBox怎麼新增刪除按鈕並刪除所在行
- JavaScript刪除字串中的指定字元JavaScript字串字元
- 刪除檔案中的數字
- PHP刪除字串中的逗號PHP字串
- C#中刪除DataTable中的行的方法C#
- linux 下vim中關於刪除某段,某行,或全部刪除的命令Linux
- 【PyQt5】在使用 QListWidget 時,如何實現點選按鈕來獲取當前行!QT
- 如何刪除springboot中的子專案Spring Boot
- 刪除tensor中不是1的維度
- Python如何刪除csv中的內容Python
- Python刪除列表中的非字母字元Python字元
- 如何永久刪除Mac中的檔案?Mac
- Laravel 中利用『模型事件』來實現刪除資料時的連帶刪除Laravel模型事件
- 在 Linux 中如何刪除檔案中的空行Linux
- Oracle中刪除表中的重複資料Oracle
- linux中crontab計劃任務怎麼刪除?linux中crontab計劃任務的刪除方法Linux
- 如何快速刪除Word中的頁首橫線?刪除頁首橫線技巧分享
- 從Bash中的字串中刪除固定的字首/字尾字串
- Docker刪除倉庫中的映象問題Docker
- mysql 刪除表中重複的資料MySql
- iptables刪除命令中的相關問題
- 刪除 IntelliJ Idea 中自定義的 Maven ArchetypeIntelliJIdeaMaven
- 刪除排序陣列中的重複項排序陣列
- PHP從陣列中刪除元素的方法PHP陣列
- Linux 中刪除目錄的多種方法Linux
- Python 中刪除列表元素的三種方法Python
- 在 CentOS 8 中刪除舊的 Linux 核心CentOSLinux
- Qt場景中圖形項的刪除QT