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

استعمل Dev-cpp لكتابة برامج Qt

بدأه djug في 6 يوليو 2008 · 29 رد · 8,422 مشاهدة · في قسم Cross Platform GUI Libraries العام
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

مقدمة:

قامت Trolltech الشركة المطورة لـمكتبة Qt بتوفير هذه المكتبة لمستخدمي و مطوري برامج تعمل على Windows مجانا ..لكنها فرضت قيدين

الأول : كتابة برامج ذات أهداف غير تجارية

و الثاني : هو إمكانية عمل الترجمة فقط بـمترجم Mingw .لهذا فإنه ينصح باستعمال Dev-cpp لكتابة برامج تعتمد على هذه المكتبة

التحميل:

قبل البدء عملية التنصيب يجب تحميل التالي:

Dev-cpp :من الأفضل تحميله مع الـ package الخاص بـ Mingw

Qt: الإصدار 4 فما فوق

التنصيب:

قم بتنصيب Dev-cpp في مجلد C:\Dev-Cpp.

و من ثم قم بتنصيب Qt : هنا سيطلب منك تحديد مسار Mingw اختر C:\Dev-Cpp.

و من ثم اختر المجلد الذي يتم فيه تنصيب Qt ( و ليكن C:\Qt)

إنشاء Template :

الهدف من هذه الخطوة هو الحصول على خيار Qt في علبة حوار New Project

يستعمل Dev-cpp لإدارة المشاريع ما يسمى بالـ Template و الذي يكون عبارة عن ملف نصي يحتوي خصائص كل نوع من المشاريع

و إليكم مثالا عن ذلك:

[Template]

 ver=1
 Name=Windows Application
 IconIndex=0
 Description=A standard Windows application
 Catagory=Basic

 [Unit0]
 CName=main.c
 CppName=main.cpp
 C=winapp_c.txt
 Cpp=winapp_c.txt

 [Project]
 UnitCount=1
 Type=0
 Name=Windows App

سنعتمد على هذا المثال لإنشاء Template Qt . سوف لن نحتفظ بجميع الخصائص المذكورة فوق كما أنه ستتم إضافة خصائص أخرى

القسم[template]

يسمح هذا القسم بخوصصة الظاهر في علبة الحوار الخاصة بمشروع جديد

سنستعمل التالي:

[Template]
ver=1
Name=Qt  
   Icon=Qt.ico
Description=Create a GUI using the Qt library.
Catagory=GUI

و هذه هي النتيجة

fig1.png

كما تلاحظون فإن الخاصية Name تحتوي النص الذي سيتم إظهاره تحت الأيقونة المحدد مسارها في الخاصية Icon (يمكنك الحصول على هذه الأيقونة من C:\Qt\examples\tools\qtdemo)

الخاصية Description تمثل النص الذي يتم إظهاره في قسم Description

و أخيرا الخاصية Category تسمح لك باختيار لسان التبويب الذي يحتوي على مشروعنا

القسم[unit]

الهدف من هذا القسم هو إلحاق ملف بالمشروع.يجب إلحاق كلمة unit برقم . تتم إضافة 1 إلى هذا الرقم مع كل ملف.

في مثالنا الذي نحن بصدد إنشائه نستعمل ملفا واحدا و بالتالي استعمال قسم واحد فقط لـ unit

و الذي سيكون unit0

 
[Unit0]
CppName=main.cpp
Cpp=qt_cpp.txt

لاحظ وجود خاصيتين:

الأولى CppName و هو الاسم القياسي الذي سيحفظ به الملف

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

و إليكم مثال عن ذلك

#include <QApplication>
  #include <QPushButton>

  int main(int argc, char *argv[])
  {
	  QApplication app(argc, argv);

	  QPushButton hello("Hello world!");
	  hello.resize(100, 30);

	  hello.show();
	  return app.exec();
  }

بعد الانتهاء من عمل كل الخطوات

و لدى إنشاء مشروع جديد

سيظهر لك التالي:

fig2.png

القسم [porject]

يعتبر هذا القسم الأهم في الـ Template إذا يحتوي على الخصائص المتعلقة بكل المشروع

[Project]
  UnitCount=1
  Type=1
  IsCpp=1
  CppCompiler=...
  Linker=...
  ProjectIcon=Qt.ico

دور كل خاصية:

UnitCount : عدد أقسام [unit] في مثالنا هذا لدينا قسم واحد

Type : تسمح باختيار نوع المشروع (1 لاختيار win32 console )

fig3.png

IsCpp : بما أن Qt تستعمل مع c++ و ليس مع الـ C (هذا يجنبنا إنشاء مشروع c بدل Cpp)

fig4.png

ProjectIcon : أيقونة المشروع

CppCompiler و Linker : خصائص مترجم c++

و التي نحصل عليها باتباع التالي:

افتح نافذة dos على المجلد

C:\>cd C:\Qt\examples\tutorial\t1

و من ثم اكتب الأمرين التاليين:

C:\Qt\examples\tutorial\t1>qmake -project
C:\Qt\examples\tutorial\t1>qmake

الآن ستحصل على ملفات جديدة داخل هذا المجلد

افتح الملف Makefile.Release بـ notepad

و الآن يكفي نسخ محتوى الخصائص التالية:

DEFINE, CXXFLAGS INCPATH, الواحدة تلو الأخرى لتشكيل محتوى الخاصية CppCompiler

أما بخصوص Linker فاعمل نفس الشيء لكن مع الخصائص LFLAGS و LIBS

و في النهاية

اذهب إلى

File->New->Project

وقم بإنشاء أول مشروعQt لك باستخدام Dev-cpp

المثال موجود في المرفقات

عنوان المقال الأصلي:

Installer Qt4 sous Windows

رابط المقال الأصلي:

http://nicolasj.developpez.com/articles/qt4/

كاتب المقال الأصلي:

Nicolas Joseph

Qt4_DevCpp.rar

تم تعديل هذه المشاركة بواسطة djug في 6 يوليو 2008 في 22:10

#2

السلام عليكم

شكرا لك على الشرح

الا يعتبر استخدام QDevelop و Qt Designer افضل ؟

#3
djug كتب:
و من ثم قم بتنصيب Qt : هنا سيطلب منك تحديد مسار Mingw اختر C:\Dev-Cpp.

و من ثم اختر المجلد الذي يتم فيه تنصيب Qt ( و ليكن C:\Qt)

قمت بتحميل QT وحجمها 119 ميجا

تريد مني ان اقوم بتنصيبها ، لكن المجلد لا يحتوي أي ملف setup أو install !!

ما العمل ؟ فقط يوجد ملف config عند الضغط عليه تظهر شاشة الدوس لبرهة ثم تختفي

#4
allko كتب:
قمت بتحميل QT وحجمها 119 ميجا

تريد مني ان اقوم بتنصيبها ، لكن المجلد لا يحتوي أي ملف setup أو install !!

ما العمل ؟ فقط يوجد ملف config عند الضغط عليه تظهر شاشة الدوس لبرهة ثم تختفي

من أين قمت بالتحميل؟؟

لدي لإصدار 4.3.1 و حجمه فقط 69 M فقط (ملف واحد للتنصيب)

قم يالتحميل من هنا

http://trolltech.com/developer/downloads/qt/windows

#5
مجلـد جديـد كتب:
السلام عليكم

شكرا لك على الشرح

الا يعتبر استخدام QDevelop و Qt Designer افضل ؟

عليكم السلام

نعم افضل..

,.,.,.,.,.,.,.,.,.

Best Wishes

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

#6

قمت بالتحميل من اللنك الذي وضعته

سواء في المشاركة الاصلية او في ردك الاخير

والملف حجمه 119 ميجا وليس 69 ميجا

ارجو ان تدلني اين الخطا ؟ ربما انا اقوم بتحميل ملف آخر ؟؟

#7

صارحة لا أدري اين الخلل

في انتظار رد الخبراء في الـ Qt

تم تعديل هذه المشاركة بواسطة djug في 1 أغسطس 2008 في 18:33

#8

السلام عليكم

وشكرا علي هدا الموضوع

واريد ان اطرح بعض التساؤلات انا واجهتني مشكلة وهي كتالي

[Template]
ver=1
Name=Qt
IconIndex=Qt.ico
Description=create a GUI using the Qt library
Catagory=GUI
[Unit0]
CName=main.c
CppName=main.cpp
C=winapp_c.txt
Cpp=Qt_cpp.txt
[Project]
UnitCount=1
Type=1
IsCpp=1
CppCompiler=g++,-DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN
Linker=-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-s -mthreads -Wl -Wl,-subsystem,windows,-L"c:\Qt\4.4.0\lib" -L"f:\Program Files\GTK2-Runtime\LIB" -L"c:\Qt\4.4.0\lib" -lmingw32 -lqtmain -lQtGui4 -lQtCore4
ProjectionIcon=Qt.ico
Name=qt App

والامر هو بنسبة لل

cppcopiler end linker

فهل اضع المعلومات بجنب بعض وبينهم فاصلة ام ارتبهم واحد اسف واحد

وللعلم هدا هو الملف الدي تحصلت عليه من المرحلة الاخيرة

# Makefile for building: t1
# Generated by qmake (2.01a) (Qt 4.4.0) on: ?????? 1. ????? 20:14:21 2008
# Project:  t1.pro
# Template: app
####### Compiler, tools and options
CC            = gcc
CXX           = g++
DEFINES       = -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN
CFLAGS        = -O2 -Wall $(DEFINES)
CXXFLAGS      = -O2 -frtti -fexceptions -mthreads -Wall $(DEFINES)
INCPATH       = -I"..\..\..\..\include\QtCore" -I"..\..\..\..\include\QtCore" -I"..\..\..\..\include\QtGui" -I"..\..\..\..\include\QtGui" -I"..\..\..\..\include" -I"." -I"c:\Qt\4.4.0\include\ActiveQt" -I"tmp\moc\release_shared" -I"." -I"f:\Program Files\GTK2-Runtime\INCLUDE" -I"f:\Program Files\GTK2-Runtime\INCLUDE\GTK-2.0" -I"f:\Program Files\GTK2-Runtime\INCLUDE\GLIB-2.0" -I"f:\Program Files\GTK2-Runtime\INCLUDE\PANGO-1.0" -I"f:\Program Files\GTK2-Runtime\INCLUDE\CAIRO" -I"f:\Program Files\GTK2-Runtime\INCLUDE\ATK-1.0" -I"f:\Program Files\GTK2-Runtime\INCLUDE\GTKGLEXT-1.0" -I"f:\Program Files\GTK2-Runtime\LIB\GTK-2.0\INCLUDE" -I"f:\Program Files\GTK2-Runtime\LIB\GLIB-2.0\INCLUDE" -I"f:\Program Files\GTK2-Runtime\LIB\GTKGLEXT-1.0\INCLUDE" -I"f:\Program Files\GTK2-Runtime\INCLUDE\LIBGLADE-2.0" -I"f:\Program Files\GTK2-Runtime\INCLUDE\LIBXML2" -I"..\..\..\..\mkspecs\win32-g++"
LINK        =        g++
LFLAGS        =        -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-s -mthreads -Wl -Wl,-subsystem,windows
LIBS        =        -L"c:\Qt\4.4.0\lib" -L"f:\Program Files\GTK2-Runtime\LIB" -L"c:\Qt\4.4.0\lib" -lmingw32 -lqtmain -lQtGui4 -lQtCore4
QMAKE         = c:\Qt\4.4.0\bin\qmake.exe
IDC           = c:\Qt\4.4.0\bin\idc.exe
IDL           = midl
ZIP           = zip -r -9
DEF_FILE      = 
RES_FILE      = 
COPY          = copy /y
COPY_FILE     = $(COPY)
COPY_DIR      = xcopy /s /q /y /i
DEL_FILE      = del
DEL_DIR       = rmdir
MOVE          = move
CHK_DIR_EXISTS= if not exist
MKDIR         = mkdir
INSTALL_FILE    = $(COPY_FILE)
INSTALL_PROGRAM = $(COPY_FILE)
INSTALL_DIR     = $(COPY_DIR)

وشكرا

اللهم صلي علي المصطفي محمد

صلي الله عليه وسلم

#9

ضعها الواحد بجنب الآخر دون فواصل

يمكنك الاستعانة بالملف المرفق (جاهز للاستعمال)

#10
allko كتب:
والملف حجمه 119 ميجا وليس 69 ميجا

ارجو ان تدلني اين الخطا ؟ ربما انا اقوم بتحميل ملف آخر ؟؟

ماهي لاحقة الملف ؟ وما اسم الملف ؟

يبدو انك حملت ملف لمنصة غير التي تعمل عليها!

d4baa0.gif
#11

الاصدار القديم 4.3.1 حجمه 69 ميجا :

ftp://ftp.trolltech.com/qt/source/qt-win-...4.3.1-mingw.exe

الإصدار الحالي 4.4.1 حجمه كبير :

ftp://ftp.ntua.gr/pub/X11/Qt/qt/source/qt...4.4.1-mingw.exe

استخدم هذا الاصدار 4.3.5 حجمه حوالي 50 ميجا :

ftp://ftp.trolltech.com/qt/source/qt-win-...e-src-4.3.5.zip

تم تعديل هذه المشاركة بواسطة GamingMasteR في 1 أغسطس 2008 في 22:38

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#12
B.M.AbdelAziZ كتب:
ماهي لاحقة الملف ؟ وما اسم الملف ؟

يبدو انك حملت ملف لمنصة غير التي تعمل عليها!

حملت المخصصة لوندوز

اللاحقة .zip فقد قمت بتحميل الملف المضغوط وحجمه 119 ميجا

والان اقوم بتحميل الملف غير المضغوط .exe وحجمه 150 ميجا تقريبا

GamingMasteR كتب:
الاصدار القديم 4.3.1 حجمه 69 ميجا :

ftp://ftp.trolltech.com/qt/source/qt-win-...4.3.1-mingw.exe

الإصدار الحالي 4.4.1 حجمه كبير :

ftp://ftp.ntua.gr/pub/X11/Qt/qt/source/qt...4.4.1-mingw.exe

استخدم هذا الاصدار 4.3.5 حجمه حوالي 50 ميجا :

ftp://ftp.trolltech.com/qt/source/qt-win-...e-src-4.3.5.zip

سانتظر انتهاء تحميل ملف ال 150 ميجا لأرى ماذا سيحصل

#13

ولماذا ؟؟

الذي تحمله الآن عبارة عن self-extracting installer سيقوم بفك الضغط عن نفس الحزمة التي عندك !!

تم تعديل هذه المشاركة بواسطة GamingMasteR في 1 أغسطس 2008 في 22:58

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#14

والان ما هذه المشكلة التي حدثت اثناء عملية التثبيت

post-39453-1217650846_thumb.gif

علما انه يوجد مجلد باسم mingw بداخل مجلد Dev C++

تم تعديل هذه المشاركة بواسطة allko في 2 أغسطس 2008 في 07:23

#15

هل قمت بتنصيب MinGW ؟

#16

جرب هذه الخطوة :

My Computer -> Properties -> Advanced -> Environment -> Variables, User Variables, add to PATH

أضف السطر التالي الى متغيرات النظام.

C:\Qt\4.4.0\bin

tvquran_6.gif

#17

وعليكم السلآم اخوي والله وحتآج طريقه اضيف فيها ايوقنه عند فتح مشروع جديد بمكتبه الـQT

وابي اعرف كيف اضيف ملف التمبلت للبرنآمج ديف ارجو المسآعده ضروري والله

تم تعديل هذه المشاركة بواسطة Mr.PaTcH في 6 أغسطس 2008 في 23:54

#18

يااخاوان احد يسوي خير ويرفه ملف التمبلت كآمل لاني فشلت مع الامر الأخير والله زهقت يآشبآب لين مآمليت

ارجو المسآعده ورفع ملف تمبلت كآمل ورآح اكون شآكر

#19

السلام عليكم

ملفات التومبليت تجدها جميعا داخل مجلد يحمل نفس الاسم يعني

templates

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

مثلا انا استخدم

b::c

يكون مسار مجدلد التمبليت عندي هو

F:\Program Files\CodeBlocks\share\CodeBlocks\templates

وعموما ملفات التي توضع في التمبليت تتكون من ثلاث ملفات غالبا

واهم شيئ هو ملف مثلا

Qt.template

عندما تفتحه تجده علي الحالة التالية

[Template]

ver=1

Name=Qt هنا يكون اسم مشروع وغالبا مايكون اسم المكتبة

Icon=Qt.ico هنا تكتب اسم ايقونة مشروعك وامتدادها ويجب ان تكون في نفس المجلد مع التمبليت

Description=Create a GUI using the Qt library. هنا الوصف الدي يظهر عندما تعمل مشروع جديد ويظهر اسفل المكتبة

Catagory=GUI هنا نوع المشروع ويكون قوي وليس كونصول

[unit0]

CppName=main.cpp هنا اسم المشروع التلقائي الدي يظهر عندما تعمل مشروع جديد وانت تستطيع التغيير فيه

Cpp=qt_cpp.txt هدا ملف اسم ملف نصي يكون موجود في نفس المجلد يعني التمبليت ويحتوي علي كود المشروع التلقائي الدي يظهر وتستطيع التغيير فيه

[Project]

UnitCount=1

Type=1

IsCpp=1

CppCompiler=-O2 -O2 -frtti -fexceptions -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_GUI_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"C:/Qt/include/QtGui" -I"C:/Qt/include/QtCore" -I"C:/Qt/include" -I"." -I"C:/Qt/include/ActiveQt" -I"tmp\moc\release_shared" -I"." -I"C:\Qt\mkspecs\win32-g++"

Linker=-mthreads -Wl -enable-stdcall-fixup -Wl -enable-auto-import -Wl -enable-runtime-pseudo-reloc -Wl -s -Wl -s -Wl -subsystem windows -L"C:\Qt\lib" -L"C:\Qt\lib" -lmingw32 -lqtmain -lQtCore4 -lQtGui4

ProjectIcon=Qt.ico وهنا تعيد كتابة نفس الامر السابق فقط

بنسبة للملفات الاخري

يبقي لنا ملف نصي يحمل المشروع التلقائي

وثالثا الايقونة التي تحمل رمز المشروع

ولكن يبقي امر اخر وهو انه يجب ات تحصل علي بيانات الخاصة ب

compiler end linker

وهده لها طريقة معينة خصوصا مع

dev c++

ولاي استفسار تفضل وشكرا

تم تعديل هذه المشاركة بواسطة aziz nor في 7 أغسطس 2008 في 08:50

اللهم صلي علي المصطفي محمد

صلي الله عليه وسلم

#20

اشكرك اخ عزيز على التوضيح لكن بالنسبه للتمبلت المرفق هل هو كآمل وجآهز للاستعمآل ؟

ولآ لازم اضبط اعدادآت الـ

linker و complier

لاني نصبت المكتبه وحددت مسآرهآ لمسآر المترجم

Dev

ونقلت ملف التميلت للمحرر وعندمآ وضعت الكود لم يترجم وظهر لي خطأ قلت يمكن ملف التميلت مب كامل ويحتآج تعديل

وماعرفت كيف اعدل يآريت المسآعده

او طرح ملف كآمل لها

#21

القالب جاهز للاستعمال

#22

هذا قالب ارجوا ان يفيدكم:

ضعه في مجلد Templates مع ملاحظه ان الاصدار الي لدي هو QT4.4.0 ومو قعه على جهازي هو C:\Qt\4.4.0

تحتاج تغير هذه الموقع اذا كان مختلف على جهازك.

0_Qt.rar

tvquran_6.gif

#23

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

جزاكم الله خيرا يا إخوان ع المجهود الرائع ده

أنا اتبعت خطواتكم فى التحميل والتثبيت وتمت العملية بدون ادنى مشاكل

لكن أنا متلخبط شوية

عشان أنا جديد جداا فى عالم البرمجة

هحصر أسئلتى فى ثلاثة أسئلة ويارب ما أديئش حد فيكم بيها

السؤال الاول: توضيح فرق بين ال اكيو تى و الديف بلس بلس ؟

السؤال الثانى: طريقة تثبيت الكيو تى و الديف بلس بلس على اللينكس توزيعة فيدورا 7 ؟

السؤال الأخير: هل ممكن أكمل على شغلى انا بعمله ع الويندوز من اللينكس ؟

جزاك الله خيرا على أهتمامكم

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

ع العموم أنا هحاول أنزله عندى على اللينكس

بس المشكلة انه فعلاا عندى بس نسخة قديمة

الاصدار 3

وانا مثبت على الجهاز اللى فى الشغل الاصدار الرابع

فكنت عاوز اثبت فى البيت نفس الاصدار ونفس كل شىء

بحيث `نى لو عملت نقطة ووقفت عندها أجى البيت أكمل عليها ما يبقاش فى مشكلة

منتظر منكم الرد

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

box.gif

[يمين] تلك طبيعة الإيمان إذا تغلغل و استمكن ، إنه يضفى على صاحبه قوة تنطبع فى

سلوكه كله ، فإذا تكلم كان واثقا من قوله ، و إذا اشتغل كان راسخا فى عمله

. و إذا اتجه كان واضحا فى هدفه . و ما دام مطمئنا إلى الفكرة التى تملأ

عقله ، و إلى العاطفة التى تعمر قلبه ، فقلما عرف التردد سيلا إلى نفسه ،

و قلما تزحزحه العواصف العاتية عن موقفه . الشيخ محمد الغزالى

[/يمين]

#24

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

الحمد لله تم تثبيت ال اكيو تى 4 على جهازى فى البيت بس انا ما ثبتش الدف سى بلس بلس

دلوئتى أعمل ايه

السلام عليكم

box.gif

[يمين] تلك طبيعة الإيمان إذا تغلغل و استمكن ، إنه يضفى على صاحبه قوة تنطبع فى

سلوكه كله ، فإذا تكلم كان واثقا من قوله ، و إذا اشتغل كان راسخا فى عمله

. و إذا اتجه كان واضحا فى هدفه . و ما دام مطمئنا إلى الفكرة التى تملأ

عقله ، و إلى العاطفة التى تعمر قلبه ، فقلما عرف التردد سيلا إلى نفسه ،

و قلما تزحزحه العواصف العاتية عن موقفه . الشيخ محمد الغزالى

[/يمين]

#25

اخى حسن يوسف , لا يوجد نسخة لـ Dev C++ على اللينوكس استخدم Code::Blocks فهو احسن منه

وفقك الله

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