انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => برنامه‌سازی => نویسنده: alperen در 23 آذر 1386، 06:38 ب‌ظ

عنوان: GTK یا QT ?
ارسال شده توسط: alperen در 23 آذر 1386، 06:38 ب‌ظ
سلام !
من میخواهم شروع به برنامه نویسی ویژوال در لینوکس کنم ! برای این کار از QT استفاده کنم یا GTK ؟ من یا C++ برنامه مینویسم . و در حد پیشرفته بلد هستم !
به نظر شما کدام بهتر است و چه مزیت هایی نسبت به هم دارند؟
عنوان: پاسخ به: GTK یا QT ?
ارسال شده توسط: ابراهیم در 23 آذر 1386، 11:19 ب‌ظ
سلام،
بنده Qt رو پیش‌نهاد می‌کنم. (Qt درست هست و نه QT)
برای اطلاعات بیش‌تر:
http://en.wikipedia.org/wiki/Qt_%28toolkit%29
http://en.wikipedia.org/wiki/GTK%2B
http://www.google.com/search?q=qt+versus+gtk
عنوان: پاسخ به: GTK یا QT ?
ارسال شده توسط: sudotux در 24 آذر 1386، 01:07 ق‌ظ
منم Qt رو پیشنهاد می کنم
عنوان: پاسخ به: GTK یا QT ?
ارسال شده توسط: alperen در 24 آذر 1386، 01:14 ق‌ظ
میشه دلیلش رو بگین ؟ یعنی این که Qt چه مزایایی نسبت به GTK داره ؟
عنوان: پاسخ به: GTK یا QT ?
ارسال شده توسط: arman_o71 در 24 آذر 1386، 05:41 ب‌ظ
QT یه toolkit برنامه نویسی که رابط کاربری جزیی از اون هست برای برنامه نویسی با QT حتما باید از چیزایی مثل KDevelop یا QTDesigner استفاده کنید

اگه برنامه نویسی ++C درست حسابی بلد هستین انتخاب Gtkmm که تبدیل Gtk به ++C خیلی خوبه. از امکاناتش اینه که کاملا از ابزارهای استاندارد ++C مثل Containerها و Functorها استفاده می‌کنه و هیچ نیازی به چیزهایی مثل moc qt نیست که کارهای اضافی روی پروژتون انجام بده

ترجیحا اول یه دوری توی برنامه‌های معمول KDE و Gnome بزنید و مقالات ابتدایی QT و Gtkmm رو بخونید تا با فضاش آشنا بشید
مثلا توی Gtk شما معمولا جای دقیق هیچ widget رو نمی‌دونید فقط می‌گید صفحه رو سه قسمت عمودی کن توی بالایی menubar توی پایینی statusbar بذار و وسطی رو دو قسمت افقی کن و ...

خصوصیت دیگه Gtk اینه که با یه کامپایل ساده توی ویندوز هم اجرا میشه (البته من QT رو امتحان نکردم!) که خیلی بهتر از Win32 و MFC هست!!!
عنوان: پاسخ به: GTK یا QT ?
ارسال شده توسط: Sepehrnoush در 24 آذر 1386، 09:12 ب‌ظ
همچنین توجه داشته باشید که Qt اوپن سورس نیست!!!
عنوان: پاسخ به: GTK یا QT ?
ارسال شده توسط: Bayazee در 24 آذر 1386، 09:36 ب‌ظ
همچنین توجه داشته باشید که Qt اوپن سورس نیست!!!

هست !
http://doc.trolltech.com/4.0/opensourceedition.html

اینم لینک های دانلود :
http://trolltech.com/developer/downloads/qt/x11
عنوان: پاسخ به: GTK یا QT ?
ارسال شده توسط: mtux در 24 آذر 1386، 09:50 ب‌ظ
همچنین توجه داشته باشید که Qt اوپن سورس نیست!!!
دوست عزیز این قضیه سالهاست حل شده!
و Qt تحت دو مجوز منتشر می‌شه که یکیش GPL است!
بعلاوه اینکه: پایه‌ی کلاسهای KDE روی Qt است! پس نمی‌شه!!!

اگر خروجی برنامه‌ی شما آزاد(تحت یکی از مجوز های آزاد) باشه، می توانید از Qt با مجوز GPL استفاده کنید، و اگر غیر آزاد باید! از مجوز های غیر مجانی اون استفاده کنید!

برای برنامه‌نویسی، Qt ساده تره، شلوغ تر و زیبا تره! چون سیستم شدیدا شیئ گرایی داره! بعضی از کلاسها که چیزایی کم داشتن رو بازنویسی کردن!
البته من فقط از Qt استفاده کردم، و فقط کد های GTK رو دیدم.
برای اکثر کارها کلاس هایی تعریف شده داره!

من قبل از این از C# برای برنامه‌نویسی استفاده می کردم، و می تونم بهت اینطور بگم:
با استفاده از کتابخانه‌ی Qt شما قدرت ++C را با سادگی #C و Java داری! :D
البته این نظر منه و ممکنه افرادی باهاش مخالف باشن، که خوب دیگه زندگی همینه ;)

تا جایی که یادمه GTK تحت مجوز LGPL است، یعنی نتیجه‌ی کار رو شما می‌تونی بصورت غیر متن‌باز هم منتشر کنی! ولی برای Qt باید یا متن‌باز باشه یا پول بدی!!
نمونه ای از استفاده از Qt : مرورگر Opera فکر می‌کنم از این کتابخونه استفاده کرده، شرکت Apple هم فکر می‌کنم از این کتابخونه استفاده می‌کنه! و در راس استفاده کنندگان همه‌ی برنامه‌ی ها KDE بطور مستقیم یا غیر مستقیم از این کتابخونه استفاده می کنن!
که دوتای اول نمونه‌های غیر آزاد و آخری(KDE) نمونه‌ی آزاد استفاده از Qt هستند!

موفق باشی

نظر خودمم: Qt :D
عنوان: پاسخ به: GTK یا QT ?
ارسال شده توسط: Sepehrnoush در 25 آذر 1386، 11:29 ق‌ظ
خود Qt همچنان اوپن سورس نیست! فقط به شما اجازه میده توی برنامه‌هایی که به صورت اوپن سورس منتشر می‌کنید تمام کدها/ماژول‌ها/و یا هر چیز دیگه‌ای که توسط Qt به برنامه شما اضافه شده رو هم تحت مجوزهای آزاد منتشر کنید!
آزاد بودن خود یک برنامه با آزاد بودن کدها/فایل‌هایی که توسط اون ایجاد می‌شه خیلی تفاوت داره.  ;)
عنوان: پاسخ به: GTK یا QT ?
ارسال شده توسط: ابراهیم در 25 آذر 1386، 10:27 ب‌ظ
سلام،
همچنین توجه داشته باشید که Qt اوپن سورس نیست!!!
خود Qt همچنان اوپن سورس نیست! فقط به شما اجازه میده توی برنامه‌هایی که به صورت اوپن سورس منتشر می‌کنید تمام کدها/ماژول‌ها/و یا هر چیز دیگه‌ای که توسط Qt به برنامه شما اضافه شده رو هم تحت مجوزهای آزاد منتشر کنید!
آزاد بودن خود یک برنامه با آزاد بودن کدها/فایل‌هایی که توسط اون ایجاد می‌شه خیلی تفاوت داره.  ;)
Qt که به شیوه‌ی dual licensing تحت مجوز GPL (و غیره) منتشر می‌شه، مطمئناً و مسلماً آزاد و بازمنبع هست. اگر مشکلی در این باره هست، در مورد dual licensing و Qt بیش‌تر مطالعه کنید. شاید منظور شما مسأله‌ی QPL هست که اون هم حل شده. شاید http://en.wikipedia.org/wiki/Q_Public_License کمک کنه.

QT یه toolkit برنامه نویسی که رابط کاربری جزیی از اون هست برای برنامه نویسی با QT حتما باید از چیزایی مثل KDevelop یا QTDesigner استفاده کنید
لزومی در استفاده از اون ابزارها وجود نداره، هر چند کار رو معمولاً خیلی ساده می‌کنن.

مثلا توی Gtk شما معمولا جای دقیق هیچ widget رو نمی‌دونید فقط می‌گید صفحه رو سه قسمت عمودی کن توی بالایی menubar توی پایینی statusbar بذار و وسطی رو دو قسمت افقی کن و ...
تقریباً توی همه‌ی GUI frameworkهای جدید (از جمله Qt) این قابلیت‌ها وجود داره.

خصوصیت دیگه Gtk اینه که با یه کامپایل ساده توی ویندوز هم اجرا میشه (البته من QT رو امتحان نکردم!) که خیلی بهتر از Win32 و MFC هست!!!
Qt کاملاً cross platform هست (بین ویندوز و unix-likeها) و به زیبایی توی ویندوز کامپایل می‌شه.
عنوان: پاسخ به: GTK یا QT ?
ارسال شده توسط: Sepehrnoush در 26 آذر 1386، 11:31 ق‌ظ
مشکل من هنوز حل نشده ;) خود Qt آیا اوپن سورس هست؟ خودش رو می‌گم نه کدها یا فایل‌هایی که تولید می‌کنه. مثلاً می‌شه سورس کدش رو دانلود کرد یا توسعه داد؟
عنوان: پاسخ به: GTK یا QT ?
ارسال شده توسط: ابراهیم در 29 آذر 1386، 11:12 ب‌ظ
مشکل من هنوز حل نشده ;) خود Qt آیا اوپن سورس هست؟ خودش رو می‌گم نه کدها یا فایل‌هایی که تولید می‌کنه. مثلاً می‌شه سورس کدش رو دانلود کرد یا توسعه داد؟
صد البته! Qt سری 4 تحت جواز GPL 2 منتشر می‌شه.
عنوان: پاسخ به: GTK یا QT ?
ارسال شده توسط: Taha در 30 آذر 1386، 08:24 ب‌ظ
من با سی برنامه نمی نویسم ولی جی تی کی قابلیت توسعه فوق العاده ای داره و توسعه آن بسیار آسنه من از معماری اش خوش ام اومد

اما تا حالا کد QT ندیدم (تو پاسکال پشتیبانی نمیشه) ولی بدم نمیاد نمونه کدهای سی QT رو ببینم

عنوان: پاسخ به: GTK یا QT ?
ارسال شده توسط: Sepehrnoush در 01 دی 1386، 05:18 ب‌ظ
مشکل من هنوز حل نشده ;) خود Qt آیا اوپن سورس هست؟ خودش رو می‌گم نه کدها یا فایل‌هایی که تولید می‌کنه. مثلاً می‌شه سورس کدش رو دانلود کرد یا توسعه داد؟
صد البته! Qt سری 4 تحت جواز GPL 2 منتشر می‌شه.

ممکنه لینک دانلود سورس کدش رو برام بذارید؟
عنوان: پاسخ به: GTK یا QT ?
ارسال شده توسط: Bayazee در 01 دی 1386، 06:20 ب‌ظ
http://trolltech.com/developer/downloads/qt/x11

به عبارت دیگه کیوتی الان مثل همه نرم افزار های معمولی اپن سورس هست ! می شه ازش بصورت آزاد استفاده کرد و همون ۴ تا آزادی رو هم در اختیار قرار می ده . و حتی بر خلاف تصور بعضی از کاربران می شه نرم افزار های اپن سورس بر اساس کیوتی رو هم فروخت ! اما این میان کیوتی روش هایی رو هم در اختیار قرار می ده که می تونید نرم افزار غیر آزاد تولید کنید . یعنی سورس نرم افزارتون رو منتشر نکنید . این کار هنگام استفاده از نرم افزار های آزاد مجاز نیست . برای رفع این مورد کیوتی لایسنسی جدید مختص خودش رو ایجاد کرده . پس اگر نمی خوایید از لایسنس آزاد برای انتشار یا فروش نرم افزارتون استفاده کنید کافیه کمی پول خرج کنید  ;)
عنوان: پاسخ به: GTK یا QT ?
ارسال شده توسط: MElmi در 01 دی 1386، 09:07 ب‌ظ
نقل‌قول
خصوصیت دیگه Gtk اینه که با یه کامپایل ساده توی ویندوز هم اجرا میشه (البته من QT رو امتحان نکردم!) که خیلی بهتر از Win32 و MFC هست!!!
اين جمله شما غلطه دوست عزيز

ابزارهاي برنامه نويسي برنامه سازي گرافيكي از هرنوعش (متن باز/ متن بسته و ايضا ويندوز /لينوكس) در تحليل نهايي دارن از يه مجموعه فراخواني روي توابع پايه محيطي كه دارن روش اجرا ميشن استفاده ميكنن. در مورد ويندوز اين يعني اين كه همه اين ابزارها، در عمل محصور كننده هايي براي win32 هستن. اين شامل MFC VCL .net framework و ابزارهايي مثل QT Gtk و يا نمونه هاي ناشناخته تير مثل FOX و wxwidgetsو غيره هم ميشه. به عبارت ديگه همه اين ابزارها يا به طريقي از توابع win32 براي ترسيم خطوط پايه استفاده ميكنن (يعني مثلا شكل يه دكمه رو خودشون رسم مي كنن مثل كيو تي) و يا از توابع سطح بالاتري از وين 32 براي ترسيم استفاده مي كنن (يعني فراخواني تابع مربوط به تعريف/نمايش دكمه از وين 32 براي نشون دادن اون. مثل دبليو ايك ويجتس/وي سي ال و ...). به هر حال غرض اين بود كه زمينه همه چيز تو ويندوز در حال و در آينده وين 32 خواهد بود.

در مورد گنو لينوكس هم شرايط تا حدي شبيه به ويندوزه. اونجا هم چيزي به اسم XServer وجود داره كه وظيفش رسمهاي پايس. تو اونجا هم كيو تي/ جي تي كي/ دبليو ايكس ويجتس/ فاكس/ موتيف و هر چيز ديگه اي به ايكس سرور وابستست.

القصه.... شايد مهمترين كار اين كيوتي/جي تي كي و ... اين باشه كه براي پايه هاي مختلف، اينترفيسهاي يه جور تهيه ميكنه.
اين تا اينجاش.


اما توان بعضي از اين ابزارها، به يه واسط ساده براي برنامه نويسي گرافيكي محدود نميشه.... كه اين خودش قصه ديگه ايه... كه كيو تي از اين دستست....
عنوان: پاسخ به: GTK یا QT ?
ارسال شده توسط: Sepehrnoush در 02 دی 1386، 02:28 ب‌ظ
http://trolltech.com/developer/downloads/qt/x11

به عبارت دیگه کیوتی الان مثل همه نرم افزار های معمولی اپن سورس هست ! می شه ازش بصورت آزاد استفاده کرد و همون ۴ تا آزادی رو هم در اختیار قرار می ده . و حتی بر خلاف تصور بعضی از کاربران می شه نرم افزار های اپن سورس بر اساس کیوتی رو هم فروخت ! اما این میان کیوتی روش هایی رو هم در اختیار قرار می ده که می تونید نرم افزار غیر آزاد تولید کنید . یعنی سورس نرم افزارتون رو منتشر نکنید . این کار هنگام استفاده از نرم افزار های آزاد مجاز نیست . برای رفع این مورد کیوتی لایسنسی جدید مختص خودش رو ایجاد کرده . پس اگر نمی خوایید از لایسنس آزاد برای انتشار یا فروش نرم افزارتون استفاده کنید کافیه کمی پول خرج کنید  ;)

به نقل از: http://trolltech.com/developer/downloads/qt/x11
Tar file
The full Qt/X11 Open Source Edition archive in gzipped tar format. The archive contains the complete source code of the library and extensions with full reference documentation. It compiles on most Unix platforms and some others.
این سورس کد شامل هسته خود Qt‌ هم می‌شه یا فقط libraryها و extensionهاش‌ه؟

عنوان: پاسخ به: GTK یا QT ?
ارسال شده توسط: ابراهیم در 02 دی 1386، 07:57 ب‌ظ
منظور شما از هسته‌ی Qt رو متوجه نمی‌شم. آخه Qt چیزی جز یک مجموعه library و ابزار و مستندات نیست! همه‌ی اون‌ها هم با جواز GPL در دسترس هست.
عنوان: پاسخ به: GTK یا QT ?
ارسال شده توسط: MElmi در 03 دی 1386، 02:37 ب‌ظ
منظور شما از هسته‌ی Qt رو متوجه نمی‌شم. آخه Qt چیزی جز یک مجموعه library و ابزار و مستندات نیست! همه‌ی اون‌ها هم با جواز GPL در دسترس هست.

به خاطر اينكه كيو تي از يه معماري چند لايه استفاده ميكنه، مفهومي به نام هسته براش قابل تعريف و تشخيصه. جسارتا اين جوري كه شما در باره كيوتي قضاوت ميكني يه مقدار سطحيه.

نقل‌قول
این سورس کد شامل هسته خود Qt‌ هم می‌شه یا فقط libraryها و extensionهاش‌ه؟
آل د ثينگز تو گدر!
 ;)
عنوان: پاسخ به: GTK یا QT ?
ارسال شده توسط: arman_o71 در 03 دی 1386، 05:26 ب‌ظ
نقل‌قول
خصوصیت دیگه Gtk اینه که با یه کامپایل ساده توی ویندوز هم اجرا میشه (البته من QT رو امتحان نکردم!) که خیلی بهتر از Win32 و MFC هست!!!
اين جمله شما غلطه دوست عزيز

ابزارهاي برنامه نويسي برنامه سازي گرافيكي از هرنوعش (متن باز/ متن بسته و ايضا ويندوز /لينوكس) در تحليل نهايي دارن از يه مجموعه فراخواني روي توابع پايه محيطي كه دارن روش اجرا ميشن استفاده ميكنن. در مورد ويندوز اين يعني اين كه همه اين ابزارها، در عمل محصور كننده هايي براي win32 هستن. اين شامل MFC VCL .net framework و ابزارهايي مثل QT Gtk و يا نمونه هاي ناشناخته تير مثل FOX و wxwidgetsو غيره هم ميشه. به عبارت ديگه همه اين ابزارها يا به طريقي از توابع win32 براي ترسيم خطوط پايه استفاده ميكنن (يعني مثلا شكل يه دكمه رو خودشون رسم مي كنن مثل كيو تي) و يا از توابع سطح بالاتري از وين 32 براي ترسيم استفاده مي كنن (يعني فراخواني تابع مربوط به تعريف/نمايش دكمه از وين 32 براي نشون دادن اون. مثل دبليو ايك ويجتس/وي سي ال و ...). به هر حال غرض اين بود كه زمينه همه چيز تو ويندوز در حال و در آينده وين 32 خواهد بود.

در مورد گنو لينوكس هم شرايط تا حدي شبيه به ويندوزه. اونجا هم چيزي به اسم XServer وجود داره كه وظيفش رسمهاي پايس. تو اونجا هم كيو تي/ جي تي كي/ دبليو ايكس ويجتس/ فاكس/ موتيف و هر چيز ديگه اي به ايكس سرور وابستست.

القصه.... شايد مهمترين كار اين كيوتي/جي تي كي و ... اين باشه كه براي پايه هاي مختلف، اينترفيسهاي يه جور تهيه ميكنه.
اين تا اينجاش.


اما توان بعضي از اين ابزارها، به يه واسط ساده براي برنامه نويسي گرافيكي محدود نميشه.... كه اين خودش قصه ديگه ايه... كه كيو تي از اين دستست....
فکر نکنم، MFC و net framework. و wxWidget از Win32 API در سطح GUI استفاده می‌کنه ولی Gtk فقط برای رسم کردن پیکسل‌ها روی صفحه از WinAPI استفاده می‌کنه احتمالا QT هم همینطوری
بعد منظورم این بود که برنامه‌نویسیش راحت‌تر از MFC و ... هست وگرنه آخرش که همه به دستورای CPU و کارت گراقیک ترجمه می‌شن!

عنوان: پاسخ به: GTK یا QT ?
ارسال شده توسط: ابراهیم در 03 دی 1386، 10:00 ب‌ظ
به خاطر اينكه كيو تي از يه معماري چند لايه استفاده ميكنه، مفهومي به نام هسته براش قابل تعريف و تشخيصه.
صد البته! ولی اون هسته (QtCore) هم قسمتی از مجموعه کتابخانه‌ی Qt هست و چیزی خارج از اون نیست. منظور من همینه!
عنوان: پاسخ به: GTK یا QT ?
ارسال شده توسط: Bayazee در 04 دی 1386، 02:17 ق‌ظ
به خاطر اينكه كيو تي از يه معماري چند لايه استفاده ميكنه، مفهومي به نام هسته براش قابل تعريف و تشخيصه.
صد البته! ولی اون هسته (QtCore) هم قسمتی از مجموعه کتابخانه‌ی Qt هست و چیزی خارج از اون نیست. منظور من همینه!

سلام
شرمنده کمی دیر جواب می دم .
دقیقا ! کیوتی کلش متشکل از همین اکستنشن ها و کتابخانه هاست ! و همش هم بصورت آزاد در دسترس . به عبارت دیگه هسته کیتوتی کتابخانه هایی نوشته شده با زبان سی پلاس پلاس هست و همه این کتابخانه ها هم قابل دانلود و استفاده که لینکش رو دادم .
عنوان: پاسخ به: GTK یا QT ?
ارسال شده توسط: MElmi در 05 دی 1386، 11:28 ب‌ظ
در مورد اين مطلب:
فکر نکنم، MFC و net framework. و wxWidget از Win32 API در سطح GUI استفاده می‌کنه ولی Gtk فقط برای رسم کردن پیکسل‌ها روی صفحه از WinAPI استفاده می‌کنه احتمالا QT هم همینطوری
بنده هم عرض كرده بودم كه:
نقل‌قول
به عبارت ديگه همه اين ابزارها يا به طريقي از توابع win32 براي ترسيم خطوط پايه استفاده ميكنن (يعني مثلا شكل يه دكمه رو خودشون رسم مي كنن مثل كيو تي) و يا از توابع سطح بالاتري از وين 32 براي ترسيم استفاده مي كنن (يعني فراخواني تابع مربوط به تعريف/نمايش دكمه از وين 32 براي نشون دادن اون. مثل دبليو ايك ويجتس/وي سي ال و ...)

اما در مورد اين مطلب:
نقل‌قول
بعد منظورم این بود که برنامه‌نویسیش راحت‌تر از MFC و ... هست وگرنه آخرش که همه به دستورای CPU و کارت گراقیک ترجمه می‌شن!
بنده عرض كرده بودم كه:
نقل‌قول
القصه.... شايد مهمترين كار اين كيوتي/جي تي كي و ... اين باشه كه براي پايه هاي مختلف، اينترفيسهاي يه جور تهيه ميكنه.
به عبارت ديگه خيلي مهمه كه چه موتوري روي چه لايه‌اي داره عمل ميكنه.