Python Forum
[PyQt] How to clear multiple Qlineedit in a loop
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[PyQt] How to clear multiple Qlineedit in a loop
#3
(Aug-09-2019, 01:14 PM)Denni Wrote: This is done when during creation
MyLineEditDict[key] = self.txtNamePerson
Then when you need to do something to them all you just do this
for key in MyLineEditDict.keys()
    MyLineEditDict[key].setText('None for All')
Note: key is whatever you want it to be since how it is being used means there is no need to care what it is, however, if you want to handle your LineEdits a bit more semi-sequential or perhaps more intuitively you could make it a numeric index of some sort. Regardless the basics of this would not change any just its particulars.

Thanks for the help. However, this assumes that the QLineEdit can be indexed during creation. I am using a designer and I have no idea where to start.
I have been struggling some time now. The ui py file is used to call the respective QLineEdit.

Main .py file which needs to loop through the QLineEdit:
from PyQt5 import QtCore, QtGui, QtWidgets
from ui import Ui_Dialog
from PyQt5.QtWidgets import  QApplication, QTreeWidget, QTreeWidgetItem,  QComboBox
from PyQt5.QtCore import pyqtSlot
from PyQt5.QtCore import QRegExp
from PyQt5.QtGui import QRegExpValidator
import numpy as np
import os

class Main(QtWidgets.QMainWindow, Ui_Dialog):
    def __init__(self, parent=None):
        self.current_directory = os.getcwd()
        self.regex = QRegExp("[0-9._]+")
        self.validator = QRegExpValidator(self.regex)

        super(Main, self).__init__(parent)
        self.setupUi(self)
        self.txtWeight.setValidator(self.validator)
        self.btnAddNew.clicked.connect(self.clearQLineEdit)
    
    def clearQLineEdit(self):
     ------ code that loops through the QLineEdit ---------
ui.py with the ui set-up:
from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_Dialog(object):
    def setupUi(self, Dialog):
        Dialog.setObjectName("Dialog")
        Dialog.resize(342, 217)
        self.Details = QtWidgets.QGroupBox(Dialog)
        self.Details.setGeometry(QtCore.QRect(10, 10, 321, 201))
        self.Details.setObjectName("Details")
        self.Main = QtWidgets.QGroupBox(self.Details)
        self.Main.setGeometry(QtCore.QRect(10, 20, 301, 141))
        self.Main.setObjectName("Main")
        self.txtName = QtWidgets.QLineEdit(self.Main)
        self.txtName.setGeometry(QtCore.QRect(150, 20, 131, 20))
        self.txtName.setObjectName("txtName")
        self.label = QtWidgets.QLabel(self.Main)
        self.label.setGeometry(QtCore.QRect(10, 20, 51, 16))
        self.label.setObjectName("label")
        self.label_2 = QtWidgets.QLabel(self.Main)
        self.label_2.setGeometry(QtCore.QRect(10, 50, 111, 16))
        self.label_2.setObjectName("label_2")
        self.txtWeight = QtWidgets.QLineEdit(self.Main)
        self.txtWeight.setGeometry(QtCore.QRect(150, 50, 61, 20))
        self.txtWeight.setInputMethodHints(QtCore.Qt.ImhDigitsOnly)
        self.txtWeight.setObjectName("txtWeight")
        self.txtYear = QtWidgets.QLineEdit(self.Main)
        self.txtYear.setGeometry(QtCore.QRect(150, 80, 61, 20))
        self.txtYear.setInputMethodHints(QtCore.Qt.ImhDigitsOnly)
        self.txtYear.setObjectName("txtYear")
        self.label_3 = QtWidgets.QLabel(self.Main)
        self.label_3.setGeometry(QtCore.QRect(10, 80, 111, 16))
        self.label_3.setObjectName("label_3")
        self.label_4 = QtWidgets.QLabel(self.Main)
        self.label_4.setGeometry(QtCore.QRect(90, 20, 51, 16))
        self.label_4.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_4.setObjectName("label_4")
        self.label_5 = QtWidgets.QLabel(self.Main)
        self.label_5.setGeometry(QtCore.QRect(90, 50, 51, 16))
        self.label_5.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_5.setObjectName("label_5")
        self.label_6 = QtWidgets.QLabel(self.Main)
        self.label_6.setGeometry(QtCore.QRect(90, 80, 51, 16))
        self.label_6.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_6.setObjectName("label_6")
        self.txtPlace = QtWidgets.QLineEdit(self.Main)
        self.txtPlace.setGeometry(QtCore.QRect(150, 110, 61, 20))
        self.txtPlace.setInputMethodHints(QtCore.Qt.ImhDigitsOnly)
        self.txtPlace.setReadOnly(True)
        self.txtPlace.setObjectName("txtPlace")
        self.label_7 = QtWidgets.QLabel(self.Main)
        self.label_7.setGeometry(QtCore.QRect(10, 110, 111, 16))
        self.label_7.setObjectName("label_7")
        self.label_8 = QtWidgets.QLabel(self.Main)
        self.label_8.setGeometry(QtCore.QRect(90, 110, 51, 16))
        self.label_8.setAlignment(QtCore.Qt.AlignRight|QtCore.Qt.AlignTrailing|QtCore.Qt.AlignVCenter)
        self.label_8.setObjectName("label_8")
        self.btnAddNewPipe = QtWidgets.QPushButton(self.Details)
        self.btnAddNewPipe.setGeometry(QtCore.QRect(230, 170, 75, 23))
        self.btnAddNewPipe.setObjectName("btnAddNew")

        self.retranslateUi(Dialog)
        QtCore.QMetaObject.connectSlotsByName(Dialog)
        Dialog.setTabOrder(self.txtWeight, self.txtName)
        Dialog.setTabOrder(self.txtName, self.txtPlace)
        Dialog.setTabOrder(self.txtPlace, self.txtYear)

    def retranslateUi(self, Dialog):
        _translate = QtCore.QCoreApplication.translate
        Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
        self.Details.setTitle(_translate("Dialog", "Details"))
        self.Main.setTitle(_translate("Dialog", "Test"))
        self.label.setText(_translate("Dialog", "Name"))
        self.label_2.setText(_translate("Dialog", "Weight"))
        self.label_3.setText(_translate("Dialog", "Year"))
        self.label_4.setText(_translate("Dialog", "[-]"))
        self.label_5.setText(_translate("Dialog", "[kg]"))
        self.label_6.setText(_translate("Dialog", "[-]"))
        self.label_7.setText(_translate("Dialog", "Place"))
        self.label_8.setText(_translate("Dialog", "[-]"))
        self.btnAddNewPipe.setText(_translate("Dialog", "Add new"))


if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Dialog = QtWidgets.QDialog()
    ui = Ui_Dialog()
    ui.setupUi(Dialog)
    Dialog.show()
    sys.exit(app.exec_())
Can you help me further?
Reply


Messages In This Thread
RE: How to clear multiple Qlineedit in a loop - by mart79 - Aug-13-2019, 02:18 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  [PyQt] QLineEdit Caret (Text Cursor) Transparency malonn 5 2,897 Nov-04-2022, 09:04 PM
Last Post: malonn
  How to accept only float number in QLineEdit input ism 5 28,651 Jul-06-2021, 05:23 PM
Last Post: deanhystad
  Simple printing the text for a QLineEdit thewolf 16 8,035 Mar-06-2021, 11:37 PM
Last Post: deanhystad
  PyQt5: How to retrieve a QLineEdit by its name ? arbiel 4 7,976 Oct-21-2020, 02:35 PM
Last Post: arbiel
  Two QlineEdit box, which interrelated GMCobraz 1 2,447 Aug-14-2020, 07:15 PM
Last Post: deanhystad
  [PyQt] Dynamically add and remove QLineEdit's GMCobraz 3 7,222 Jun-23-2020, 07:01 PM
Last Post: Yoriz
  prompt for input in qlineedit GMCobraz 3 3,257 Jun-22-2020, 01:51 PM
Last Post: GMCobraz
  [PyQt] display content from left to right in QComboBox or QLineEdit mart79 2 2,353 May-30-2020, 04:38 PM
Last Post: Axel_Erfurt
  How to loop through all QLineEdit widgets on a form JayCee 6 6,764 Apr-03-2020, 12:15 AM
Last Post: JayCee
  How to validate multiple QLineEdit widgets without addressing them separately? mart79 3 4,297 Aug-08-2019, 12:50 PM
Last Post: Denni

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020