import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
class Widget(QWidget):
def __init__(self, *args, **kwargs):
QWidget.__init__(self, *args, **kwargs)
hlay = QHBoxLayout(self)
self.listview = QListView()
self.listview2 = QListView()
hlay.addWidget(self.listview)
hlay.addWidget(self.listview2)
path = r'C:\Users\Desktop\Project'
self.fileModel = QFileSystemModel()
self.fileModel.setFilter(QDir.NoDotAndDotDot | QDir.Files)
self.listview.setRootIndex(self.fileModel.index(path))
if __name__ == '__main__':
app = QApplication(sys.argv)
w = Widget()
w.show()
sys.exit(app.exec_())
我想从我的文件夹中显示列表视图中的文件,其中包含代码中描述的路径,并且能够 选择它们,我选择的文件将显示在listview2中,但是listview不显示 该路径中的文件。有人可以帮我吗?
答案 0 :(得分:1)
由于您尚未在def tracing_func(func_name, args):
if func_name in ['func', 'foo']:
log_func_args(func_name, args)
中设置rootPath
,因此不会显示文件。
另一方面,第二个QFileSystemModel
必须具有一个模型,其中在选择或取消选择项目时可以添加或删除项目,为此,您必须使用QListView
的{{1}}信号第一个selectionChanged
,该信号传输选定和未选定项目的信息。
要更改颜色,您必须获得selectionModel()
并使用具有QListView
角色的QStandardItem
方法。在示例中,每秒都会随机更改颜色
setData()