|
|
|
تتمة الرسائل ومربعات الحوار في qt |
|
ادخال عدد صحيح (QInputDialog::getInteger)
ان الدالة getInteger ستبدو لك سهلة بعد ان تعلمت كيفية ادخال نص بواسطة الدالة getText
ومعلماتها هي كالتالي :
int QInputDialog::getInteger ( QWidget * parent , const QString & title , const QString & label , int value = 0, int minValue = -2147483647, int maxValue = 2147483647, int step = 1, bool * ok = 0, Qt ::WindowFlags f = 0 );
|
نسترجع بهذه الدالة عددا صحيحا int
حيث value هو القيمة الافتراظية
و minValue هو اقل قيمة مدخلة
و maxValue هو اكبر قيمة يمكن ادخالها
اما القيم الاخرى فقد سبق ذكرها فيما سبق
سوف نجرب ذلك بالمعلمات الضرورية
int entier = QInputDialog::getInteger(this, "Nombre", "Entrez un nombre entier");
|
النتيجة كالتالي:

فماذا لو اردنا ان ندخل قيمة عدد مركب Double
فالامر بسيط فما علينا الا استبدال getInteger ب getDouble
فيكون الكود كالتالي
double nombreDecimal = QInputDialog::getDouble(this, "Nombre", "Entrez un nombre décimal");
|
والنتيجة :

والآن نستعرض كيفية الاختيار من بين قائمة محددة من قبل بواسطة QInputDialog::getItem
ستجد بعض القيم الجديدة
list : قائمة الخيارات الممكنة محددة بواسطة QStringList
current : رقم الاختيار الافتراظي المحدد مسبقا
editable : أي هل يمكن للمستخدم ان يختار من بين القائمة وفقط ام يمكن له ان يدخل خيارا اخر من عنده طبعا تكون معلمة بصحاو خطأ tue أو false
void MaFenetre::ouvrirDialogue() { pays << "France" << "Belgique" << "Suisse" << "Canada (québec)" << "Maroc" << "Autre"; QInputDialog::getItem(this, "Votre pays", "De quel pays es-tu, cher Zéro ?", pays ); }
|
وهاهي النتيجة :

تحديد خط النص
علبة الحوار تحديد خط النص من بين مربعات الحوار المعروفة والتي لا غنى عنها ونستطيع ان نستعملها بواسطة QFontDialog هناك خيارات كثيرة في استعمالها يمكنك ان تراجع في وثائق QFontDialog
المعلمة الاولى عبارة عن booleen صح او خطأ التي تحدد ما اذاكان المستخدم قد نقر على الزر موافق
كما يمكن تحديد الخط الافتراظي بواسطة initial
void MaFenetre::ouvrirDialogue() { bool ok = false; QFont police = QFontDialog::getFont(&ok , m_boutonDialogue ->font(), this, "Choisissez une police"); if (ok) { m_boutonDialogue->setFont(police); } }
|
والامر بسيط جدا لقد اخذنا الخط الافتراظي من الزر الذي نقرنا عليه والذي هو m_boutonDialogue
ثم حصلنا على الخط الجديد بواسطة QFont والذي عرفناه بpolice

تحديد اللون
سنقوم الان باستدعاء مربع حوار او علبة تحديد اللون
سنستعمل الفئة QColorDialog
الدالة getColor نستعيد بها object من نوع QColor
كما يمكنك ان تحدد القيمة الافتراظية initial هنا استعملنا اللون الابيض
هنا سنعيد قيمة جديدة للون الزر ولكن لا توجد قيمة تسمى setColor بالنسبة للwidgets ولذلك سنستعمل القيمة setPalette
والكود التالي يوظح كل شيئ بالتفصيل
void MaFenetre::ouvrirDialogue() { palette. setColor(QPalette::ButtonText, couleur ); m_boutonDialogue->setPalette(palette);
|
}
يمكنك ان ترجع الى وثائق qt وتحاول ان تبحث اكثر في كيفية استعمال QPalette

تحديد ملف أو مجلد
1تحديد مجلد (QFileDialog::getExistingDirectory)

2 فتح ملف موجود(QFileDialog::getOpenFileName)
علبة الحوار فتح ملف تمكنك منفتح اي ملف تريد كما يمكنك تحديد نوع الملفات التي تريد فتحها وهنا سنحاول فتح ملفات صور ذات امتداد png و gif و jpg و jpeg بحيث لا يظهر في مربع الحوار الا ملفات الصور التي حددنا ملحقاتها
void MaFenetre::ouvrirDialogue() { QMessageBox::information(this, "Fichier", "Vous avez sélectionné :n" + fichier ); }
|
النتيجة :

وعند النقر على افتح المسار المحدد سيحفظ في QString والذي سيعرظ في الرساة التالية :

3 حفظ ملف (QFileDialog::getSaveFileName)
نفس الخطوات السابقة ولكن هذه المرة باستعمال حفظ بدلا من فتح
QString fichier = QFileDialog::getSaveFileName(this, "Enregistrer un fichier", QString(), "Images (*.png *.gif *.jpg *.jpeg)");
|
النتيجة :

هذا ما وفقنا الله لبيانه
والسلام عليكم ورحمة الله وبركاته
| إسم الكاتب |
تاريخ الإضافة |
التقييم / المقيمين |
زيارات الدرس |
| أبو زكريا |
04/07/2009 |
0 / 0 |
410 |
|
|
|
|