如何在QListWidget中通过文本设置所选项目?

2024-10-01 00:19:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图创建一个函数,将文件位置从其快捷方式打开到我自己的文件资源管理器中,并从文件资源管理器中高亮显示文件

def openFileLocation():
    self.Directory = os.path.dirname(self.favoritesListWidget.currentItem().data(QtCore.Qt.UserRole)[2])
    ProjectOSP.setCurrentIndex(1)
    self.fileExplorerListWidget.setCurrentItem(self.favoritesListWidget.currentItem().text())
    reloadListWidget()

Tags: 文件path函数selfdataosdefdirectory
1条回答
网友
1楼 · 发布于 2024-10-01 00:19:47

我已经通过使用qtwidts.QListWidget.findItems()方法解决了这个问题,方法是使用MatchExactly标志和从快捷方式路径提取的快捷方式名称中的字符串,然后重新加载fileExplorer,然后迭代应该是1的结果,并将当前项设置为该确切项

def openFileLocation():
    data = self.favoritesListWidget.currentItem().data(QtCore.Qt.UserRole)
    self.Directory = os.path.dirname(data[2])
    ProjectOSP.setCurrentIndex(1)
    reloadListWidget()
    [self.fileExplorerListWidget.setCurrentItem(x) for x in self.fileExplorerListWidget.findItems(data[0]+'.'+data[1], QtCore.Qt.MatchExactly)]

You can find more about findItems here

相关问题 更多 >