📌 ما هو QLineEdit؟
هو عنصر في PyQt5 يسمح للمستخدم بكتابة نصوص أو أرقام.
يمكن استخدامه لإدخال الاسم، كلمة المرور، أو أي بيانات نصية أخرى.
⚙ أهم الخصائص
-
setPlaceholderText("...")
لعرض نص توضيحي داخل الحقل حتى يبدأ المستخدم بالكتابة. -
text()
للحصول على النص الذي أدخله المستخدم. -
setEchoMode(QLineEdit.Password)
لجعل النص يظهر كنقاط (مفيد لكلمات المرور). -
clear()
لمسح النص الموجود داخل الحقل.
📌 مثال عملي
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLineEdit, QLabel, QPushButton
class TextInputExample(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("مثال على QLineEdit")
self.setGeometry(300, 200, 400, 200)
# حقل إدخال النص
self.text_input = QLineEdit(self)
self.text_input.setGeometry(100, 30, 200, 30)
self.text_input.setPlaceholderText("أدخل اسمك هنا")
# زر لعرض النص
self.btn = QPushButton("عرض النص", self)
self.btn.setGeometry(150, 80, 100, 30)
self.btn.clicked.connect(self.show_text)
# لعرض النتيجة
self.label = QLabel("", self)
self.label.setGeometry(100, 130, 200, 30)
def show_text(self):
name = self.text_input.text()
self.label.setText(f"مرحباً يا {name}")
app = QApplication(sys.argv)
window = TextInputExample()
window.show()
sys.exit(app.exec_())
💡 ملاحظات:
- يمكن جعل الحقل يقبل الأرقام فقط باستخدام QIntValidator أو QDoubleValidator (سنتعلمها لاحقًا).
- يمكنك التحكم في طول النص عبر
setMaxLength().
🎯 التمرين
قم بإنشاء برنامج يحتوي على:
- QLineEdit لإدخال كلمة المرور.
- زر عند الضغط عليه يتحقق إذا كانت كلمة المرور تساوي
"12345". - إذا كانت صحيحة يعرض
تم تسجيل الدخول بنجاح ✅. - إذا كانت خاطئة يعرض
كلمة المرور غير صحيحة ❌. - يجب أن تكون كلمة المرور مخفية (تظهر كنقاط).
💻 الحل
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLineEdit, QLabel, QPushButton
class PasswordCheck(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("فحص كلمة المرور")
self.setGeometry(300, 200, 400, 200)
# حقل كلمة المرور
self.password_input = QLineEdit(self)
self.password_input.setGeometry(100, 30, 200, 30)
self.password_input.setPlaceholderText("أدخل كلمة المرور")
self.password_input.setEchoMode(QLineEdit.Password) # إخفاء النص
# زر الفحص
self.check_btn = QPushButton("تسجيل الدخول", self)
self.check_btn.setGeometry(150, 80, 100, 30)
self.check_btn.clicked.connect(self.check_password)
# عرض النتيجة
self.result_label = QLabel("", self)
self.result_label.setGeometry(80, 130, 250, 30)
def check_password(self):
if self.password_input.text() == "12345":
self.result_label.setText("تم تسجيل الدخول بنجاح ✅")
else:
self.result_label.setText("كلمة المرور غير صحيحة ❌")
app = QApplication(sys.argv)
window = PasswordCheck()
window.show()
sys.exit(app.exec_())
💡 نصيحة:
يمكنك لاحقًا تعديل الكود ليقرأ كلمة المرور من قاعدة بيانات بدل أن تكون ثابتة داخل الكود، لزيادة الأمان.

