AttributeError: 'bool' object has no attribute 'browsefiles'
-
I am new to QT designer. I am trying to create a UI using QT designer and want to upload a file from my computer.Below is my .py file.
from PyQt5 import QtCore, QtGui, QtWidgets # from PyQt5.QtWidgets import QDialog, QApplication, QFileDialog, QPushButton # from PyQt5.QtWidgets import QLabel, QMainWindow # from PyQt5.uic import loadUi import sys class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(790, 600) MainWindow.setAutoFillBackground(True) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.label = QtWidgets.QLabel(self.centralwidget) self.label.setGeometry(QtCore.QRect(10, 10, 301, 31)) font = QtGui.QFont() font.setFamily("Arial") font.setPointSize(16) font.setBold(False) font.setWeight(50) self.label.setFont(font) self.label.setObjectName("label") self.checkBox = QtWidgets.QCheckBox(self.centralwidget) self.checkBox.setGeometry(QtCore.QRect(10, 80, 141, 21)) font = QtGui.QFont() font.setFamily("Arial") self.checkBox.setFont(font) self.checkBox.setObjectName("checkBox") self.checkBox_2 = QtWidgets.QCheckBox(self.centralwidget) self.checkBox_2.setGeometry(QtCore.QRect(10, 100, 151, 21)) font = QtGui.QFont() font.setFamily("Arial") self.checkBox_2.setFont(font) self.checkBox_2.setObjectName("checkBox_2") self.checkBox_3 = QtWidgets.QCheckBox(self.centralwidget) self.checkBox_3.setGeometry(QtCore.QRect(10, 120, 151, 21)) font = QtGui.QFont() font.setFamily("Arial") self.checkBox_3.setFont(font) self.checkBox_3.setObjectName("checkBox_3") self.checkBox_4 = QtWidgets.QCheckBox(self.centralwidget) self.checkBox_4.setGeometry(QtCore.QRect(10, 140, 171, 21)) font = QtGui.QFont() font.setFamily("Arial") self.checkBox_4.setFont(font) self.checkBox_4.setObjectName("checkBox_4") self.checkBox_5 = QtWidgets.QCheckBox(self.centralwidget) self.checkBox_5.setGeometry(QtCore.QRect(10, 160, 161, 21)) font = QtGui.QFont() font.setFamily("Arial") self.checkBox_5.setFont(font) self.checkBox_5.setObjectName("checkBox_5") self.checkBox_6 = QtWidgets.QCheckBox(self.centralwidget) self.checkBox_6.setGeometry(QtCore.QRect(10, 180, 181, 21)) font = QtGui.QFont() font.setFamily("Arial") self.checkBox_6.setFont(font) self.checkBox_6.setObjectName("checkBox_6") self.checkBox_8 = QtWidgets.QCheckBox(self.centralwidget) self.checkBox_8.setGeometry(QtCore.QRect(10, 220, 211, 21)) font = QtGui.QFont() font.setFamily("Arial") self.checkBox_8.setFont(font) self.checkBox_8.setObjectName("checkBox_8") self.label_2 = QtWidgets.QLabel(self.centralwidget) self.label_2.setGeometry(QtCore.QRect(10, 50, 481, 21)) self.label_2.setObjectName("label_2") self.checkBox_9 = QtWidgets.QCheckBox(self.centralwidget) self.checkBox_9.setGeometry(QtCore.QRect(10, 240, 361, 21)) font = QtGui.QFont() font.setFamily("Arial") self.checkBox_9.setFont(font) self.checkBox_9.setObjectName("checkBox_9") self.checkBox_10 = QtWidgets.QCheckBox(self.centralwidget) self.checkBox_10.setGeometry(QtCore.QRect(10, 260, 211, 21)) font = QtGui.QFont() font.setFamily("Arial") self.checkBox_10.setFont(font) self.checkBox_10.setObjectName("checkBox_10") self.checkBox_11 = QtWidgets.QCheckBox(self.centralwidget) self.checkBox_11.setGeometry(QtCore.QRect(10, 280, 211, 21)) font = QtGui.QFont() font.setFamily("Arial") self.checkBox_11.setFont(font) self.checkBox_11.setObjectName("checkBox_11") self.checkBox_12 = QtWidgets.QCheckBox(self.centralwidget) self.checkBox_12.setGeometry(QtCore.QRect(10, 300, 211, 21)) font = QtGui.QFont() font.setFamily("Arial") self.checkBox_12.setFont(font) self.checkBox_12.setObjectName("checkBox_12") self.checkBox_13 = QtWidgets.QCheckBox(self.centralwidget) self.checkBox_13.setGeometry(QtCore.QRect(10, 420, 341, 21)) font = QtGui.QFont() font.setFamily("Arial") self.checkBox_13.setFont(font) self.checkBox_13.setObjectName("checkBox_13") self.checkBox_14 = QtWidgets.QCheckBox(self.centralwidget) self.checkBox_14.setGeometry(QtCore.QRect(10, 450, 211, 21)) font = QtGui.QFont() font.setFamily("Arial") self.checkBox_14.setFont(font) self.checkBox_14.setObjectName("checkBox_14") self.pushButton = QtWidgets.QPushButton(self.centralwidget) self.pushButton.setGeometry(QtCore.QRect(540, 59, 221, 31)) self.pushButton.setObjectName("pushButton") self.pushButton.clicked.connect(lambda self: self.browsefiles) self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget) self.pushButton_2.setGeometry(QtCore.QRect(540, 100, 221, 31)) self.pushButton_2.setObjectName("pushButton_2") self.pushButton_3 = QtWidgets.QPushButton(self.centralwidget) self.pushButton_3.setGeometry(QtCore.QRect(540, 250, 221, 31)) self.pushButton_3.setObjectName("pushButton_3") self.pushButton_4 = QtWidgets.QPushButton(self.centralwidget) self.pushButton_4.setGeometry(QtCore.QRect(540, 290, 221, 31)) self.pushButton_4.setObjectName("pushButton_4") MainWindow.setCentralWidget(self.centralwidget) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) self.label.setText(_translate("MainWindow", "Document")) self.checkBox.setText(_translate("MainWindow", "First Name")) self.checkBox_2.setText(_translate("MainWindow", "Last Name")) self.checkBox_3.setText(_translate("MainWindow", "Street & street number")) self.checkBox_4.setText(_translate("MainWindow", "City")) self.checkBox_5.setText(_translate("MainWindow", "Birth date")) self.checkBox_6.setText(_translate("MainWindow", "Bank information")) self.checkBox_8.setText(_translate("MainWindow", "Email address")) self.label_2.setText(_translate("MainWindow", "Highlight is required for the following data elements:\n" "")) self.checkBox_9.setText(_translate("MainWindow", "Company name incl. legal form")) self.checkBox_10.setText(_translate("MainWindow", "URLs")) self.checkBox_11.setText(_translate("MainWindow", "Passport / ID card")) self.checkBox_12.setText(_translate("MainWindow", "Signature")) self.checkBox_13.setText(_translate("MainWindow", "Display type of element on box")) self.checkBox_14.setText(_translate("MainWindow", "Enable preview")) self.pushButton.setText(_translate("MainWindow", "Upload Single File")) self.pushButton_2.setText(_translate("MainWindow", "Upload Document Collection")) self.pushButton_3.setText(_translate("MainWindow", "Select Storage Location ")) self.pushButton_4.setText(_translate("MainWindow", "Start Anonymization")) def browsefiles(self): fname = QtWidgets.QFileDialog.getOpenFileName(self, 'Open file',r'C:\Users\Projects') self.filename.setText(fname[0]) if __name__ == "__main__": app = QtWidgets.QApplication(sys.argv) MainWindow = QtWidgets.QMainWindow() ui = Ui_MainWindow() ui.setupUi(MainWindow) MainWindow.show() sys.exit(app.exec_())
Running the above code opens a UI page that I have created using QT designer. But when I am clicking on
Upload Single File
file button. I am getting below error:AttributeError: 'bool' object has no attribute 'browsefiles'
I also tried the below code :
self.pushButton.clicked.connect(self.browsefiles)
and
self.pushButton.clicked.connect(self.browsefiles())
but nothing with the above 2 lines I get below error:
AttributeError: 'Ui_MainWindow' object has no attribute 'browsefiles'
Can anyone help me to reolve the issue.
-
@Adityamity said in AttributeError: 'bool' object has no attribute 'browsefiles':
def browsefiles(self):
You have this against the left margin. It is not inside the
class
. Indent it all by 4 spaces. This is one reason not to like Python ;-)BTW, well done for putting your code inside forum Code tags, in your first post! Most do not. Which would have made this very hard to spot!