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', './')
    
    评论

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?