الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

برمجة الواجهات في c++

بدأه SiLeNt-guy في 16 مايو 2011 · 8 رد · 2,299 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله والسلام عليكم ورحمة الله

انا مبرمج سي بلص بلص ولي فيها مدى ليس بقصير

استطعت من برمجة تطبيقات في لينكس مع واجهات مشكلتي هي:

1- لم افهم او بالاحرى اجد طريقة لربط البرنامج بالكود المصدري

2- لا اعرف ماهية الطريقة لبرمجة مثل تلك التطبيقات على ويندوز مع العلم انني استخدم مكتبة +GTK

3-بعد بحث طال اكثر من شهر توصلت لطريقة وهي تشغيل برامجك لهذه اللغة مع تلك الواجهات في ويندوز ولكن وجدتها معقدة وتتطلب من المستخدم ايظا ايجاد مكتبات لعمل البرنامج

فهل من طريقة اسهل لبرمجة واجهات على ويندوز بلغة السي بلص بلص

في الاخير اود ان احيطكم علما اساتذتي الكرام ان اخيكم ليس بمبرمج ولا يحمل ادنى شهادة برمجية ولكن هي هواية مارستها وأتقنت بعض التطبيقات وشغفي الاكثر بلغة السي بلص يلص

التي اعتبرها بالقمة ناهيكم انني لا اتقن اللغة الانجليزية ولكنني جيد فيها بعض الشي ربما متوسط ان سمح الوضع فأرجو اخذ الاعتبار بهذه النقاط

وبارك الله فيكم وشكر سعيكم

لا اله الا الله محمد رسول الله

#2

اذا تريد ان تبرمج الواجهات بالس بلس بلس وبسهولة هناك اجابة واحدة اذهب نحو مكتبة QT

ويوجد في المنتدى قسم خاص بــ QT وهي مكتبة سيكون لها مستقبل كبير خصوصا بعد ان اشترت نوكيا شركة TrollTech التي كانت تنتج QT

بالتوفيق اخي العزيز وإن شاء الله نشوف ابداعاتك

2

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

#3

بارك الل فيك استاذي

فعلا انا سمعت الخبر من مدة حتى انني قرأت مقال يتكلم عن فريق مبرمجي واجهة كي دي لا ادروي والله بالضبط المهم انهم ابدو احباطهم نوعا ما لشراءها نوكيا

ولكن يا استاذي بما انك نصحتني بكيو تي انا مشكلتي هي هل اضمن عمل البرنامج على كلا النظامين

ام هناك طريقة لعملها على ويندوز تختلف عنها في لينكس ارجو ان تدلني عليها

فاخيك مبتدأ

وبالنسبة للابداع إن شاء الله ونحن بجانبكم لا شي بارك الله فيك :)

لا اله الا الله محمد رسول الله

#4

ميزة QT هي انها تعتبر Cross platform ويمكنها ان تولد لك ملفات ,.exe ولا .out ولا اي حاجه تعجبك

1

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

#5

والله يا اخي يعجز لساني عن شكرك بارك الله فيك

ولكن اسمحلي بهاته المداخلة الاخيرة

في سؤالي الاول هناك نقطة لم تجيبني عليها لو سمحت يعني او الاصح انني لم اعرف كيف اطرحها

وهي قمت مثلا ببرمجة برنامج محول صيغ نفترض يعني وقمت بتجهيز جميع اكواده المصدرية

ثم ذهب وبرمجة له واجهة معينه على GTK مثلا اسم الملف الاول المراد تحويله

مكان حفظ الملف والخانة الثالثة مثلا صيغة الملف لمراد التحويل اليه وهكذا

سؤالي هنا اخي هو كيف ييمكني ان اربط ملف الكود للبرنامج هذا بالواجهة المصصمة تلك

هل الحل هو ان اكتب مثلا الاكواد اي تكون في نفس الكود الذي قمت به للواجهة المنشاة ام ماذا

يعني بشكل اوضح انا عندما اردت تصميم هذه الواجهة ذهبت لمحرر وكتبت الكود التالي

#include <gtk/gtk.h>

int main( int argc, char *argv[])
{
  GtkWidget *window;

  gtk_init(&argc, &argv);

  window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  gtk_window_set_title(GTK_WINDOW(window), "Hello World SiLeNt-guy :)");
  gtk_window_set_default_size(GTK_WINDOW(window), 230, 150);
  gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
  gtk_widget_show(window);

  g_signal_connect_swapped(G_OBJECT(window), "destroy",
      G_CALLBACK(gtk_main_quit), NULL);

  gtk_main();

  return 0;
}

وتصممت الواجهة (مجرد مثال)

هل يعني ان اضيف كود البرنامج من هنا يعني بين الاكواد هذه

واسف يا اخي على اسلوبي هذا في السؤال ولكن كما اخبرتك انا لم ادرس هذه البرمجة مجرد اطلاع وتطبيق لانواع الكتب وبحث في الانترنت

بارك الله فيك ولك جزيل الشكر

وبالنسبة للـ QT

بارك الله فيك هل من كتب للبرمجة بها على ويندوز وأيظا لينكس

او تدلني على قسم معين هنا عندكم بالموقع

واسف من كل اعماقي على الاطالة ووقتك الضائع معي اسأل الله تعالى ان يكتب لك به الاجر بارك الله فيك

تم تعديل هذه المشاركة بواسطة SiLeNt-guy في 16 مايو 2011 في 20:01

لا اله الا الله محمد رسول الله

#6

اولا كما فهمت من سؤالك ان مشكلتك هي كيف تم المعالجه للملفات بعد ضغط الزر مثلا

لنقل ان لديك زر ومربع نص ، تكتب في مربع النص اسم الملف وعندما تضغط على الزر يتم تكوين الملف تمام!

مثلا في الدالة main تستطيع عمل textField وعمل زر وملف وتجعل هناك حدث event عندما يتم الضغط على الزر يتم قراءة النص الموجود في textField وتمرير النص الى

الملف المراد تكوينه مثلا.

بس هنا في حاجات كثير ، الكود حقك في الاعلى مكتوب باسلوب لغة السي اللي يسمىimperative paradigm حيث انك تستجيب للاحداث عبر مايسمى بevent programming يعني انت تكتب الاستجابة لكل حدث في الكود حقك

، بينما في السي بلس بلس الغالب انك تستخدم الكلاسات وهناك مايسمى بMVC او Model View Controller وهنا في الغالب سوف تقسم الكود حقك بحيث انه الواجهة منفصله عن الكود

فيكون الview مسؤؤل عن الواجهة والــModel مسؤؤل عن البيانات ويتم عمل interfacing بينهم

في QT يتم الاستجابة للاحداث باسلوب ماخوذ من MVC باستخدام ما يسمى بــ Signals & Slots بس خلي بالك انها مبنيه على الكلاسات

ويمكن الاخت حورية هي اخبر مني بالــ QT

توجد كتب لبرمجة QT على الويندوز في الغالب ولكن هناك الكثير منها يتطرق للينوكس و ماكنتوش واذا اردت سوف اورد لك بعض الاسماء

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

#7

بارك الله فيك اخي والله ردودك هذه اعتبرها ثريات انارة عقلي وانت قمرها

والان بدأت افهم نوعا ما عمل هذه الواجهات اضافة لذالك اخذت دورة في منتداكم والحقيقة بهرت بما رأيت وأحسست انني سأستفيد باذن الله ورجعت لاجد ردك هذا بارك الله فيك

وبالنسبة لاسماء اللكتب حبذا والله اخي الكريم وان كان قد اثقلت عليك واتعبتك معي

ولكن كرمك هذا والله اخجلني فان رأيت انه يتيسر لك الان اعطني بعض الاسماء

وان لم تستطع فاعلم يرعاك الله انك قمت بالواجب وأكثر بارك الله فيك

تقديري الفائق لشخصكم وشكرا

تم تعديل هذه المشاركة بواسطة SiLeNt-guy في 16 مايو 2011 في 22:13

لا اله الا الله محمد رسول الله

#8

هذا الكتاب الاول و هو كتاب رائع

Foundations of Qt Development (Expert's Voice in Open Source) من دار Apress

The Book of Qt 4: The Art of Building Qt Applications من دار No Starch

ثم للمستوى المتقدم هناك

Advanced Qt Programming: Creating Great Software with C++ and Qt 4 (Prentice Hall Open Source Software Development)

وهذا كتاب رائع جدا ، و كلها متوفره في مواقع تحميل الكتب

لم اذكر العديد من الكتب لاني لا اريدك ان تشعر بالارتباك

نقطة اخيره : انا اعلم انك لست متخصص في البرمجة ولكن بما انك سوف تبرمج باستخدام ++C يعني استخدام OOP

ومشكلة الOOP هي تصميم برامج باسلوب فعال لذا سيكون عليك عاجلا ام اجلا البدء بفهم نظرية الOOP

بالتوفيق

تم تعديل هذه المشاركة بواسطة mental-driller في 16 مايو 2011 في 22:25

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

#9

بارك الله فيك اخي الكريم

وشكر سعيك وجزاك الله خير

سابحث في الكتب هذه ولي لقاء بك استاذي الكريم ان شاء الله

وفقك الله لكل خير

والسلام عليكم ورحمة الله

لا اله الا الله محمد رسول الله

مواضيع مشابهة