Search code examples
pythontextboxpyqt5

pyqt5 / qtdesigner textbox default label


I am trying to create a GUI for my Python program. One of the tools that I need is a text input box.

Now, I want a text label for this box saying "Please insert texts". Is there a function to add a label that shows inside the input textbox as default and disappear when user click the box to type?

I don't mind to use qt designer or pyqt5 coding.


Solution

  • placeholderText : QString This property holds the line edit's placeholder text

    import sys
    from PyQt5.QtWidgets import QLineEdit, QVBoxLayout, QApplication, QWidget
    
    class Test(QWidget):
        def __init__(self):
            super().__init__()
    
            self.lineEdit = QLineEdit(placeholderText="Please insert texts.")  # <---
    
            vbox = QVBoxLayout(self)
            vbox.addWidget(self.lineEdit)
    
    if __name__ == '__main__':
        app  = QApplication(sys.argv)
        w = Test()
        w.show()
        sys.exit(app.exec_())
    

    enter image description here