擅长:python、mysql、java
<p>你误解了<code>QFileDialog</code>的工作原理。</p>
<p>函数<code>getOpenFileName</code>、<code>getSaveFileName</code>等是静态的。它们创建一个<em>内部</em>文件对话框对象,函数的参数用于设置其属性。</p>
<p>但是当您使用<code>QFileDialog</code>构造函数时,它会创建一个<em>外部</em>实例,因此对其设置属性对静态函数创建的<em>内部</em>文件对话框对象没有影响。</p>
<p>您需要做的是显示您创建的外部实例:</p>
<pre><code>file_dialog = QFileDialog(self)
# the name filters must be a list
file_dialog.setNameFilters(["Text files (*.txt)", "Images (*.png *.jpg)"])
file_dialog.selectNameFilter("Images (*.png *.jpg)")
# show the dialog
file_dialog.exec_()
</code></pre>