【发布时间】:2020-04-02 08:40:45
【问题描述】:
我又来了,我早上早些时候运行了这个脚本,它工作了。重新启动笔记本电脑后,我开始收到以下错误
AttributeError: 'QDialog' 对象没有属性 'QFileDialog'。
任何建议。
谢谢
def pushButton_handler(self):
print("Button pressed")
#self.open_dialog_box()
def pushButton_handler(self):
#fileName = Dialog.QFileDialog.getOpenFileName(self, "Open File", "", "CSV Files (*.csv)");
fnames = Dialog.QFileDialog.getOpenFileNames(self, "Open Data File", "", "CSV data files (*.csv)")
self.pathLE.setText(fileName)
df = pd.read_csv(fileName)
print(df)
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-1-fa4549e61e23> in pushButton_handler(self)
288 def pushButton_handler(self):
289 #fileName = Dialog.QFileDialog.getOpenFileName(self, "Open File", "", "CSV Files (*.csv)");
--> 290 fnames = Dialog.QFileDialog.getOpenFileNames(self, "Open Data File", "", "CSV data files (*.csv)")
291
292 self.pathLE.setText(fileName)
AttributeError: 'QDialog' object has no attribute 'QFileDialog'
【问题讨论】:
-
尝试使用
QtWidgets.QFileDialog(...)。 -
需要查看“Dialog”实例的类类型。直接尝试 fnames= QFileDialog.getExistingDirectory(self, "Open Data File", "", "CSV data files (*.csv)") 其中 self 是对话框的父级。它可以是 self.someFormComponent。 QFileDialog 不会从具有确定继承的特定组件中调用,您只需将父级作为参数添加到 getOpenFileNames 函数中。
-
我试过 QtWidgets.QFileDialog(...) 并出现以下错误: TypeError: getOpenFileName(parent: QWidget = None, caption: str = '', directory: str = '',过滤器:str = '',initialFilter:str = '',选项:Union[QFileDialog.Options, QFileDialog.Option] = 0):参数 1 具有意外类型 'Ui_Dialog'
-
RustyBucketBay。你的意思是我需要取类的名称,即我的情况是 UI_Dialog。下面的代码类 class Ui_Dialog(object): def setupUi(self, Dialog):
-
像任何
QWidget一样,QFileDialog对象的父对象应该是QWidget的一个实例。在这种情况下,它可能应该是您用作setupUi的输入参数的Dialog的实例。