gpt4 book ai didi

python - PySide 和 Python - 如何浏览文件夹并写入文件名?

转载 作者:行者123 更新时间:2023-11-30 23:08:34 25 4
gpt4 key购买 nike

我想按一个按钮,然后打开文件浏览器并在标签中记下所选文件。我有一个在按下按钮时调用的函数:

    @Slot()
def browse_folder(self):
self.fname = QtGui.QFileDialog.getOpenFileName()
self.statusLabel.setText(self.fname)

但是,我收到错误:

TypeError: 'PySide.QtGui.QLabel.setText' called with wrong argument types:
PySide.QtGui.QLabel.setText(unicode, unicode)
Supported signatures:
PySide.QtGui.QLabel.setText(unicode)

如何转换self.fname ,它保存选定的文件名,作为 unicode?

最佳答案

PySide 文档在这方面并不出色。但回答此类问题的最简单方法是构建一个小测试工具。像这样的东西:

from PySide import QtCore,QtGui

def do_file():
fname = QtGui.QFileDialog.getOpenFileName()
print fname

app = QtGui.QApplication([])

button = QtGui.QPushButton("Test File")
button.clicked.connect(do_file)
button.show()

app.exec_()

稍微运行一下就会发现静态 getOpenFileName 方法返回一个元组,其中首先包含文件名,然后选择所选的过滤器。例如,默认情况下,在我的系统上,这会返回 ('C:/Users/Myname/Documents/filename', 'All Files (*.*)')

因此,您需要在调用 setText 之前提取元组的第一个元素。

关于python - PySide 和 Python - 如何浏览文件夹并写入文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31648640/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com