【发布时间】:2017-09-16 11:30:30
【问题描述】:
我最近更新到了 Qt5 for Python 的新版本。在这样做的过程中,我不得不根据已经发生的一些显着变化来更改我的代码。我想深入了解我创建的这行代码。这感觉像是解决从函数中获取string 而不是tuple 的问题的一种肮脏方式。 (注意行尾的[0])
filename = QtWidgets.QFileDialog.getOpenFileName(None, "Open " + key + " Data File", '.', "(*.csv)")[0]
我想要filename = {str}'C:/.././.../format.csv'
不是filename = <class 'tuple'>: ('C:/.././.../format.csv', '(*.csv)')
【问题讨论】:
-
我不明白为什么这是 Qt4 和 Qt5 之间的区别。我使用 Qt4 并且函数
QFileDialog.getOpenFileName总是返回一个元组,而不是一个字符串。您无法控制函数返回的内容。文件名是元组的第一个元素,您必须以某种方式访问它。这有什么不好的? -
想知道在程序末尾放置 [0] 是否正确,或者实际上是否有更好的解决方案。就像我应该放在函数中的参数一样。
-
在使用 pyqt4topyqt5 将 PyQt4 代码移植到 PyQt5 后,我被此击中。我刚打开issue #17。
标签: python pyqt qt5 pyqt5 qtwidgets