本帖最后由 591821661 于 2021-4-5 23:15 编辑
实践证明 ListWidget Born to do this!
在ListWidget中甚至能够追加ListView对象 ,其相当于ListView静态显示框的动态拓展。
不断增加的电影数 更适合使用ListWidget,
至于如何定位 可以在文本中加入序号 再用RE来解析 如 '[1] XXX电影名'
sel_str = r'\[(\d*?)\]'
sel_num = max(1, int(re.findall(sel_str, item.text(), re.S)[0]))
listWidget = QListWidget() #实例化一个(item base)的列表
listWidget.addItem('dd') #添加一个项
listWidget.addItems([]) # 从序列中添加子项
listWidget.setDragEnabled(True) #设置拖拉
listWidget.sortItems() #排序
listWidget.selectAll()全选
listWidget.setSortingEnabled(bool) #设置自动排序
listWidget.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection) #设置选择模式
选择模式有:ExtendedSelection 按住ctrl多选, SingleSelection 单选 MultiSelection 点击多选 ContiguousSelection 鼠标拖拉多选
listWidget.setCurrentRow(0) 设置当前选择行默认为-1
listWidget.count() #得到子项总数
listWidget.item(row).text() #得到第 row 行的内容 listWidget.item(row) 返回一个item 对象
listWidget.takeItem(row) #返回row 行的所在的item 对象 可以用在 insertItem()中
listWidget.insertItem(2,item) #在第二行插入一项 item 可谓为一个listviewitem对象 或者string
listWidget.setCurrentItem('dd') #设置'dd'为当前项
listWidget.selectedItems() 返回一个包含item对象 的list 对象
item.setText('dsds') # 修改item 的内容,设置item的内容为‘dsds’ item为对象 可从 listWidget.item(row) takeItem(row) 得到
转自ListWidget函数方法 |