def validate_email(self, text): if "@" not in text: self.error_input.setStyleSheet("QLineEdit color: red; ") else: self.error_input.setStyleSheet("QLineEdit color: green; ") if == " main ": app = QApplication(sys.argv) window = MainWindow() window.show() sys.exit(app.exec()) 6. Key Points to Remember | Property | Description | Example | |----------|-------------|---------| | color | Text color | color: #ff0000; | | ::placeholder | Placeholder text styling | QLineEdit::placeholder color: gray; | | :focus | When widget has focus | QLineEdit:focus color: blue; | | :disabled | Disabled state | QLineEdit:disabled color: #aaa; | | :read-only | Read-only state | QLineEdit:read-only color: #666; |
Here's comprehensive content about in Qt (PyQt / PySide / C++ Qt): QLineEdit Text Color – Complete Guide 1. Using Style Sheets (Recommended) Change text color with Qt Style Sheets (QSS), similar to CSS. Python (PyQt5/PySide6) from PyQt5.QtWidgets import QApplication, QLineEdit, QVBoxLayout, QWidget app = QApplication([]) window = QWidget() layout = QVBoxLayout() Normal text color line_edit = QLineEdit("Hello World") line_edit.setStyleSheet("QLineEdit color: blue; ") Different colors for different states line_edit2 = QLineEdit("Disabled text") line_edit2.setEnabled(False) line_edit2.setStyleSheet("QLineEdit:disabled color: gray; ") Placeholder text color line_edit3 = QLineEdit() line_edit3.setPlaceholderText("Enter your name...") line_edit3.setStyleSheet("QLineEdit color: black; QLineEdit::placeholder color: #888888; ") qlineedit text color
layout.addWidget(lineEdit); window.show(); return app.exec(); Less flexible but works without style sheets. def validate_email(self, text): if "@" not in text: self
QLineEdit *lineEdit = new QLineEdit("Hello World"); lineEdit->setStyleSheet("QLineEdit color: red; "); Python (PyQt5/PySide6) from PyQt5
Style sheets override QPalette settings.
layout.addWidget(line_edit) layout.addWidget(line_edit2) layout.addWidget(line_edit3) window.setLayout(layout) window.show() app.exec() #include <QApplication> #include <QLineEdit> #include <QVBoxLayout> #include <QWidget> int main(int argc, char *argv[]) QApplication app(argc, argv); QWidget window; QVBoxLayout layout(&window);
central_widget = QWidget() self.setCentralWidget(central_widget) layout = QVBoxLayout(central_widget) # Normal normal = QLineEdit("Normal text") normal.setStyleSheet("QLineEdit color: #2c3e50; ") # Error simulation self.error_input = QLineEdit() self.error_input.setPlaceholderText("Enter valid email...") self.error_input.textChanged.connect(self.validate_email) # Custom styled custom = QLineEdit("Styled text") custom.setStyleSheet(""" QLineEdit color: #e74c3c; font-weight: bold; border: 2px solid #e74c3c; border-radius: 5px; padding: 5px; """) layout.addWidget(QLabel("Normal:")) layout.addWidget(normal) layout.addWidget(QLabel("Email validator:")) layout.addWidget(self.error_input) layout.addWidget(QLabel("Custom styled:")) layout.addWidget(custom) self.error_input.setStyleSheet("QLineEdit color: black; ")