PyQt5无法让用户选择目录

时间:2020-04-24 13:23:27

标签: python pyqt5

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'downloader.ui'
#
# Created by: PyQt5 UI code generator 5.13.2
#
# WARNING! All changes made in this file will be lost!

import os
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import *

class UI_Window(object):
    def setupUi(self, Window):
        Window.setObjectName("Window")
        Window.resize(478, 192)
        self.spinBox = QtWidgets.QSpinBox(Window)
        self.spinBox.setGeometry(QtCore.QRect(10, 150, 61, 31))
        self.spinBox.setObjectName("spinBox")
        self.label = QtWidgets.QLabel(Window)
        self.label.setGeometry(QtCore.QRect(20, 120, 191, 21))
        font = QtGui.QFont()
        font.setFamily("함초롬돋움")
        self.label.setFont(font)
        self.label.setObjectName("label")
        self.label_2 = QtWidgets.QLabel(Window)
        self.label_2.setGeometry(QtCore.QRect(80, 150, 91, 31))
        font = QtGui.QFont()
        font.setFamily("함초롬돋움")
        self.label_2.setFont(font)
        self.label_2.setObjectName("label_2")
        self.spinBox_2 = QtWidgets.QSpinBox(Window)
        self.spinBox_2.setGeometry(QtCore.QRect(180, 150, 61, 31))
        self.spinBox_2.setObjectName("spinBox_2")
        self.label_3 = QtWidgets.QLabel(Window)
        self.label_3.setGeometry(QtCore.QRect(250, 150, 131, 31))
        font = QtGui.QFont()
        font.setFamily("함초롬돋움")
        self.label_3.setFont(font)
        self.label_3.setObjectName("label_3")
        self.pushButton = QtWidgets.QPushButton(Window)
        self.pushButton.setGeometry(QtCore.QRect(370, 50, 101, 41))
        font = QtGui.QFont()
        font.setFamily("함초롬돋움")
        self.pushButton.setFont(font)
        self.pushButton.setObjectName("pushButton")
        self.pushButton.clicked.connect(self.pushButtonClicked)
        self.label_4 = QtWidgets.QLabel(Window)
        self.label_4.setGeometry(QtCore.QRect(20, 10, 171, 31))
        font = QtGui.QFont()
        font.setFamily("함초롬돋움")
        self.label_4.setFont(font)
        self.label_4.setObjectName("label_4")
        self.labelPATH = QtWidgets.QLabel(Window)
        self.labelPATH.setGeometry(QtCore.QRect(20, 40, 321, 61))
        font = QtGui.QFont()
        font.setFamily("함초롬돋움")
        font.setPointSize(10)
        self.labelPATH.setFont(font)
        self.labelPATH.setCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor))
        self.labelPATH.setObjectName("labelPATH")
        self.pushButton_2 = QtWidgets.QPushButton(Window)
        self.pushButton_2.setGeometry(QtCore.QRect(360, 140, 111, 41))
        self.pushButton_2.setObjectName("pushButton_2")

        self.retranslateUi(Window)
        QtCore.QMetaObject.connectSlotsByName(Window)

    def retranslateUi(self, Window):
        _translate = QtCore.QCoreApplication.translate
        Window.setWindowTitle(_translate("Window", "Dialog"))
        self.label.setText(_translate("Window", "다운받을 페이지"))
        self.label_2.setText(_translate("Window", "페이지 부터"))
        self.label_3.setText(_translate("Window", "페이지 까지"))
        self.pushButton.setText(_translate("Window", "선택"))
        self.label_4.setText(_translate("Window", "다운 받을 경로"))
        self.labelPATH.setText(_translate("Window", "선택된 경로 없음"))
        self.pushButton_2.setText(_translate("Window", "시작"))

    def pushButtonClicked(self):
        fname = QFileDialog.getExistingDirectory(self, 'Open Folder', '')
        self.labelPATH.setText(fname[0])
if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Window = QtWidgets.QDialog()
    ui = UI_Window()
    ui.setupUi(Window)
    Window.show()
    sys.exit(app.exec_())

我编码如果用户单击按钮,则用户可以选择文件夹目录。但它返回错误。

Traceback (most recent call last):
  File "downloader.py", line 82, in pushButtonClicked
    fname = QFileDialog.getExistingDirectory(self, 'Open Folder', '')
TypeError: getExistingDirectory(parent: QWidget = None, caption: str = '', directory: str = '', options: Union[QFileDialog.Options, QFileDialog.Option] = QFileDialog.ShowDirsOnly): argument 1 has unexpected type 'UI_Window'

0 个答案:

没有答案
相关问题