AD稳稳 2017-04-29 06:55 采纳率: 0%
浏览 2531
已结题

Python pyqt界面添加文件选择语句报错

我用qt Designer编写了框架,之后转化成了.py文件,我想添加一个按钮,能够选择一个文件(图片,文本等等),得到文件名及路径。
但是框架本身没有错误,但是添加了:
filename = QtGui.QFileDialog.getOpenFileName(self, 'Open file', './')
这个语句后,就会报错误,错误如下:
Traceback (most recent call last):
File "C:\Users\lenovo\Desktop\leaf\Recognize\UI\src\myUI\Rec_ui.py", line 172, in path_click
filename = QtGui.QFileDialog.getOpenFileName(self, 'Open file', './')
TypeError: getOpenFileName(parent: QWidget = None, caption: QString = QString(), directory: QString = QString(), filter: QString = QString(), selectedFilter: QString = None, options: QFileDialog.Options = 0): argument 1 has unexpected type 'Ui_MainWindow'
现在我不知道怎么改了,请求各位大神援助

  • 写回答

1条回答 默认 最新

  • 战在春秋 2017-04-30 00:42
    关注

    getOpenFileName函数第一个参数类型不对。

    题目中由.ui文件生成Ui_mainWindow类,并将其作为getOpenFileName函数的第一个参数。
    原代码如下:

     filename = QtGui.QFileDialog.getOpenFileName(self, 'Open file', './')  //此处self为Ui_mainWindow类型。
    

    而实际上getOpenFileName函数第一个参数类型应该是 QWidget

    修改方法如下:

     filename = QtGui.QFileDialog.getOpenFileName(None, 'Open file', './')
    
    评论

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置