QtWidgets.QFileDialog.getOpenFileName 返回一个元组

2022-01-12 00:00:00 python pyqt pyqt5 qt5 qtwidgets

问题描述

我最近更新到了 Qt5 for Python 的新版本.在这样做的过程中,我不得不根据已经发生的一些显着变化来更改我的代码.我想深入了解我创建的这行代码.这感觉像是一种解决从函数中获取 string 而不是 tuple 问题的肮脏方式.(注意行尾的[0])

I've recently updated to the new version of Qt5 for Python. In doing so, I've been having to alter my code in accordance to some of the notable changes that have occurred. I wanted to get some insight into this line of code that I've created. It feels like a dirty way of solving the problem of getting a string instead of a tuple from the function. (Note the [0] at the end of the line)

filename = QtWidgets.QFileDialog.getOpenFileName(None, "Open " + key + " Data File", '.', "(*.csv)")[0]

我想要 filename = {str}'C:/.././.../format.csv'

not filename = <class 'tuple'>: ('C:/.././.../format.csv', '(*.csv)')


解决方案

在查看了一个也正在更新到 Qt5 的存储库之后;我发现他们使用了这样的一行.

After looking through a repository that was being updated to Qt5 as well; I found they used a line like this.

filename, _filter = QtWidgets.QFileDialog.getOpenFileName(None, "Open " + key + " Data File", '.', "(*.csv)")

filename 是一个字符串,并且 (*.csv) 在 _filter 变量中被丢弃

filename is a string and the (*.csv) gets discarded in the _filter variable

相关文章