PyQt5文件选择TypeError: getOpenFileName(parent: QWidget = None, ...) argument 1 has unexpected type ‘..‘

使用PyQt5写窗体时,链接内置打开文件槽函数出现TypeError: getOpenFileName(parent: QWidget = None, caption: str = ‘’, directory: str = ‘’, filter: str = ‘’, initialFilter: str = ‘’, options: Union[QFileDialog.Options, QFileDialog.Option] = 0): argument 1 has unexpected type 'Ui_MainWindow’错误的解决办法

一. 问题由来

近期在使用Python的开发窗体,采用Pyqt5这一强大的库进行开发,但是在编写代码后,将菜单(打开文件)与函数连接时,运行用窗体打开文件选择器时出现了如下问题:
TypeError: getOpenFileName(parent: QWidget = None, caption: str = ‘’, directory: str = ‘’, filter: str = ‘’, initialFilter: str = ‘’, options: Union[QFileDialog.Options, QFileDialog.Option] = 0): argument 1 has unexpected type
在这里插入图片描述
在这里插入图片描述

二. 部分源代码

(1)openMsg

    def openMsg(self):
        file,ok = QtWidgets.QFileDialog.getOpenFileName(self,"打开","E:/","All (*);;Text Files (*.txt)")
        self.statusbar.showMessage(file)

(二) 连接槽函数

 self.menuItem_openetc.triggered.connect(self.openMsg)

注意:槽函数内self.openMsg不带括号,即不是self.openMsg()

三. 分析

根据返回的错误信息,是继承的类出了问题(貌似?有大佬可以指出吗,目前刚刚学习,一知半解,只知道解决办法,或是待些时日,本人再回来解答!)

四. 解决办法

file,ok = QtWidgets.QFileDialog.getOpenFileName(self,"打开","E:/","All (*);;Text Files (*.txt)")的 self改成 None

此时运行结果:
在这里插入图片描述

五. 更多资源分享与交流,请关注:

在这里插入图片描述

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值