1️⃣ ما هو QLineEdit؟
هو أداة تسمح للمستخدم بإدخال نصوص (كلمات، أرقام، بريد إلكتروني، إلخ) في واجهة PyQt.
2️⃣ أهم الخصائص
- setPlaceholderText() → عرض نص مؤقت داخل الحقل.
- setEchoMode() → تحديد طريقة عرض النص (عادي، كلمة مرور...).
- text() → جلب النص الذي أدخله المستخدم.
- setText() → وضع نص داخل الحقل.
3️⃣ مثال أساسي
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QPushButton
class MyWindow(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("مثال على QLineEdit")
self.setGeometry(300, 200, 400, 200)
# مربع إدخال النص
self.input = QLineEdit(self)
self.input.setPlaceholderText("أدخل اسمك هنا...")
self.input.setGeometry(100, 50, 200, 30)
# زر
self.btn = QPushButton("عرض النص", self)
self.btn.setGeometry(150, 100, 100, 30)
self.btn.clicked.connect(self.show_text)
# مكان عرض النص
self.label = QLabel("", self)
self.label.setGeometry(100, 150, 200, 30)
def show_text(self):
name = self.input.text()
self.label.setText(f"مرحباً {name}!")
app = QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())
📌 ملاحظات:
- يمكن جعل الإدخال خاص بكلمة مرور عن طريق:
from PyQt5.QtWidgets import QLineEdit
self.input.setEchoMode(QLineEdit.Password)
- يمكن التحقق من صحة النصوص قبل عرضها (مثلاً: عدم ترك الحقل فارغ).
🎯 التمرين
أنشئ نافذة تحتوي على:
- مربع إدخال نص (QLineEdit) يطلب من المستخدم إدخال بريده الإلكتروني.
- زر "تحقق".
- رسالة أسفل الزر تخبر المستخدم إن كان البريد صالحاً (يحتوي على @ و**.**) أو غير صالح.
💡 الحل
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QPushButton
class EmailChecker(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("التحقق من البريد الإلكتروني")
self.setGeometry(300, 200, 400, 200)
# مربع الإدخال
self.input = QLineEdit(self)
self.input.setPlaceholderText("أدخل بريدك الإلكتروني...")
self.input.setGeometry(80, 40, 240, 30)
# زر التحقق
self.btn = QPushButton("تحقق", self)
self.btn.setGeometry(150, 80, 100, 30)
self.btn.clicked.connect(self.check_email)
# مكان عرض النتيجة
self.label = QLabel("", self)
self.label.setGeometry(80, 130, 240, 30)
def check_email(self):
email = self.input.text()
if "@" in email and "." in email:
self.label.setText("✅ البريد صالح")
else:
self.label.setText("❌ البريد غير صالح")
app = QApplication(sys.argv)
window = EmailChecker()
window.show()
sys.exit(app.exec_())
📌 شرح مختصر:
QLineEditلأخذ البريد.- عند الضغط على زر "تحقق" يتم فحص وجود
@و.. - يتم عرض النتيجة في
QLabel.

