作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用了此 post 中的部分代码(PyQt5)
from PyQt5.QtWidgets import QTreeView,QFileSystemModel,QApplication
class Main(QTreeView):
def __init__(self):
QTreeView.__init__(self)
model = QFileSystemModel()
model.setRootPath('C:\\')
self.setModel(model)
self.doubleClicked.connect(self.test)
def test(self, signal):
file_path=self.model().filePath(signal)
print(file_path)
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
w = Main()
w.show()
sys.exit(app.exec_())
我对这条线有疑问
model.setRootPath('C:\')
当我运行该程序时,它总是显示类似 C: D: 的驱动器,只是不是 C:\的内容,或者即使我输入“C:\Users\”或什至不存在的路径,它总是只是显示,请参阅附图,我做错了什么?
显示文件管理器的 PyQt 程序图像
我正在使用:Windows 10,皮查姆,Python 3.5,PyQt5,
感谢您的帮助。
最佳答案
您必须使用 setRootIndex()
向 QTreeView
指示您的根项目是什么:
from PyQt5.QtCore import QDir
from PyQt5.QtWidgets import QTreeView,QFileSystemModel,QApplication
class Main(QTreeView):
def __init__(self):
QTreeView.__init__(self)
model = QFileSystemModel()
self.setModel(model)
model.setRootPath(QDir.rootPath())
self.setRootIndex(model.index("C:"))
self.doubleClicked.connect(self.test)
def test(self, signal):
file_path=self.model().filePath(signal)
print(file_path)
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
w = Main()
w.show()
sys.exit(app.exec_())
关于python - SetRootPath 未按预期设置工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49617149/
我使用了此 post 中的部分代码(PyQt5) from PyQt5.QtWidgets import QTreeView,QFileSystemModel,QApplication class M
我正在尝试创建一个显示文件夹内容的 Qt 应用程序(在 Mac OS 中为“Users”文件夹)。这是代码: QFileSystemModel *dirModel = new QFileSystemM
我需要显示特定目录的 QTreeView,我想让用户可以使用 RegExp 过滤文件。 据我了解 Qt 文档,我可以使用标题中提到的类来实现这一点: // Create the Models QFil
我是一名优秀的程序员,十分优秀!