难以理解 Qt 文档
Difficulty in understanding the Qt documentation
我试图在 PyQt5 中创建一个浏览器按钮,因此我尝试阅读有关 getOpenFileName 的 Qt 文档。这是文档的脚本:
QString QFileDialog::getOpenFileName(QWidget *parent = nullptr, const QString &caption = QString(),
const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr,
QFileDialog::Options options = Options())
*
在QWidget *parent
或QString *selectedFilter = nullptr
中是什么意思?
&
在const QString &caption = QString()
中是什么意思
这些 *,&
适用于在 C 中使用 Qt 吗?或者如果我使用 Python 来使用 Qt,它们也适用吗?
我了解:
第一个参数是 parent class 也可以设置为 none
第二个参数是一个字符串,将用作 window
的标题
const QString &filter = QString()
表示过滤到select个文件。
不过,我不明白QString *selectedFilter = nullptr
。根据文档:
过滤器 selected 设置为 selectedFilter.
这是默认过滤器吗?那么如何实施呢?当我试验时,第一个过滤器似乎是默认过滤器,因此似乎不需要此选项!
一般来说,将一个函数从 Qt 转换为 PyQt5 是微不足道的,因为你展示了一些参数,但其他人必须理解函数的逻辑。这是“selectedFilter”参数的情况,returns 在选择文件时使用的过滤器。在 C++ 中,与 Python 不同,您只能 return 一个值,因此 return 其他值的技巧是使用指针,这就是当前的情况,但在 python 你可以 return 一个元组,所以在这种情况下处理它:
filename, selectedFilter = QtWidgets.QFileDialog.getOpenFileName(...)
另一方面,处理 PyQt5 文档的更简单方法是使用 python“帮助”:
$ python
>>> from PyQt5 import QtWidgets
>>> help(QtWidgets.QFileDialog.getOpenFileName)
输出:
Help on built-in function getOpenFileName:
getOpenFileName(...)
getOpenFileName(parent: QWidget = None, caption: str = '', directory: str = '', filter: str = '', initialFilter: str = '', options: Union[QFileDialog.Options, QFileDialog.Option] = 0) -> Tuple[str, str]
其中显示 return 是一个包含 2 个字符串的元组,它们是所选文件的文件名和所选过滤器。
我试图在 PyQt5 中创建一个浏览器按钮,因此我尝试阅读有关 getOpenFileName 的 Qt 文档。这是文档的脚本:
QString QFileDialog::getOpenFileName(QWidget *parent = nullptr, const QString &caption = QString(),
const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr,
QFileDialog::Options options = Options())
*
在QWidget *parent
或QString *selectedFilter = nullptr
中是什么意思?
&
在const QString &caption = QString()
这些 *,&
适用于在 C 中使用 Qt 吗?或者如果我使用 Python 来使用 Qt,它们也适用吗?
我了解:
第一个参数是 parent class 也可以设置为
none
第二个参数是一个字符串,将用作 window
的标题const QString &filter = QString()
表示过滤到select个文件。
不过,我不明白QString *selectedFilter = nullptr
。根据文档:
过滤器 selected 设置为 selectedFilter.
这是默认过滤器吗?那么如何实施呢?当我试验时,第一个过滤器似乎是默认过滤器,因此似乎不需要此选项!
一般来说,将一个函数从 Qt 转换为 PyQt5 是微不足道的,因为你展示了一些参数,但其他人必须理解函数的逻辑。这是“selectedFilter”参数的情况,returns 在选择文件时使用的过滤器。在 C++ 中,与 Python 不同,您只能 return 一个值,因此 return 其他值的技巧是使用指针,这就是当前的情况,但在 python 你可以 return 一个元组,所以在这种情况下处理它:
filename, selectedFilter = QtWidgets.QFileDialog.getOpenFileName(...)
另一方面,处理 PyQt5 文档的更简单方法是使用 python“帮助”:
$ python
>>> from PyQt5 import QtWidgets
>>> help(QtWidgets.QFileDialog.getOpenFileName)
输出:
Help on built-in function getOpenFileName:
getOpenFileName(...)
getOpenFileName(parent: QWidget = None, caption: str = '', directory: str = '', filter: str = '', initialFilter: str = '', options: Union[QFileDialog.Options, QFileDialog.Option] = 0) -> Tuple[str, str]
其中显示 return 是一个包含 2 个字符串的元组,它们是所选文件的文件名和所选过滤器。