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

كيف أربط بين عدة نوافذ Ui في مشروع واحد

بدأه محمـد عواد في 17 ديسمبر 2009 · 7 رد · 980 مشاهدة · في قسم Cross Platform GUI Libraries العام
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أخواني الكرام حياكم الله وبياكم

هذه أول مشاركة لي في هذا المنتدى الرائع

وأرجو أن أفيد وأستفيد

إخواني الكرام أنا مبتدئ في البرمجة ب qt وأرجو منكم مساعدتي في كيفية الربط بين عدة نوافذ تم إنشائها بواسطة qt Designer

أريد أن أجمع تلك النوافذ في مشروع واحد بحيث أجعل إحداها من نوع mdi ويتم استدعاء بقية النوافذ من داخلها بواسطة ال menu وال button

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

وجزاكم الله خيرا

تم تعديل هذه المشاركة بواسطة محمـد عواد في 17 ديسمبر 2009 في 19:09

#2

راجع مثال MDI تحت Main Windows فى Qt Demo

(map share people)

فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader

#3

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

راجعته ولكن لم أجد فيه ما أريد لأنه ينشئ النوافذ كلها بالأكواد وليست ui

فهو ينشئ نوافذ متطايرة (كما أسميها أنا)

أما نوافذ ال ui فلها أسلوب آخر في الاستدعاء كنت قد تعرفت عليه في بيئة vb.net

ولكن في qt لم أعرفها

وأسأل الله أن يجعله في ميزان حسناتك

#4

مثال CalculatorForm

http://doc.trolltech.com/4.6/designer-calculatorform.html

http://doc.trolltech.com/4.6/designer-using-a-ui-file.html

(map share people)

فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader

#5

طريقة صعبة جدا ومعقدة ما زلت أحاول فهمها وأسأل الله التيسير لي ولك

وجزاك الله خيرا

#6

أخي الكريم هذه الطريقة شبه مستحيل تنفيذها عندما تعلم أن عدد النوافذ في البرنامج 27 نافذة وكل نافذة تحتوي على عدد من الكائنات يتراوح بين 7 إلى 25 كائن

لا أدري إن كانت هناك طرق أسهل من ذلك أم لا

إذا لم تكن هناك طريقة سهلة فأنا أفكر في استخدام tabWidget تحتوي على 27 tab يمكن التنقل بينها بسهولة

ولكن لا أدري إن كان هذا سيسبب مشاكل في سرعة أداء البرنامج أم لا

جزاك الله خيرا على صبرك علي

#7

يمكن تحتاج تفكر فى حلول تانية زى ال Dialogs

(map share people)

فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader

#8

استخدم ال Dialogs للنوافذ الداخلية عند تصميمك لها ، وفي الفئة الرئيسية main window قم باستدعائها فقط سواءا أردتها Modal او Modeless

Modal Dialog example

void MainWindow::window1()
{
    Window1* w1 = new Window1(this);

    w1.show()
}

Modeless Dialog example

void MainWindow::window1()
{
    Window1* w1 = new Window1(this);

    if (w1->exec() == QDialog::Accepted)
    // do what you want.
}

في الحالة الاولى Modal فانه يمكنك التنقل بين النافذة الرئيسية والفرعية في نفس الوقت ، اما الحالة الثانية Modeless فلا يمكنك الذهاب الى النافذة الرئيسية الا بعد اغلاق النافذة الفرعية.

بالتوفيق.

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