GTK و Qt
|
2004-10-07, 06:46 PM,
ارسال : #1
|
|||
|
|||
GTK و Qt
سلام به همه.دوستان من می خوام در لینوکس برنامه نویسی با ++C رو شروع کنم.چند تا سوال داشتم که می خواستم بی زحمت بهشون جواب بدید.
۱-کتابخانه ی GTK چیه؟؟؟Qt چیه؟ ۲-اینها شامل چه چیزی میشن؟ ۳-در چه صوزتی از این ها در برنامه ها استفاده می کنیم؟؟؟؟ ۴-لیست header های استاندارد ++C که در لینوکس میتونیم از اونها استفاده کنیم چیه؟؟؟ ۵-و کلا برنامه نویسی++C در لینوکس چه فرقی با ویندوز داره؟؟؟ ۶-در آخر هم اگه یه منبع برنامه نویسی ++C در لینوکس سراغ دارید بی زحمت معرفی کنید. در آخر هم از همتون پیشاپیش تشکر می کنم. |
|||
2004-10-07, 10:01 PM,
ارسال : #2
|
|||
|
|||
1 و 2 و 3:
GTK و Qt و wxWidgets و امثالهم کتابخانههایی برای ایجاد GUI (رابط کاربر گرافیکی) هستند یعنی وقتی برنامهت بخواد رابط گرافیکی داشته باشه به جای استفاده مستقیم از Xlib میتونی از اینا استفاده کنی. Xlib چیه؟ کتابخانه پایه برای ایجاد GUI در محیط X Window چرا به اینا نیاز داریم؟ چرا مستقیم از Xlib استفاده نکنیم؟ Xlib خیلی سخته. (میگن) پروتوتایپهای توابع اش هنوز به سبک K&R C ه (عهد بوق!) انتقال برنامه نوشتهشده با Xlib به محیط دیگهای مثل ویندوز معمولا" پرهزینه است. این کتابخونهها برای حل همچین مشکلاتی استفاده میشوند (ویندوز با چی برنامه مینوشتی؟ اگه با ویژوال سی++ برنامهنویسی کرده باشی اینا معادل MFC هستند. همونجور که MFC یک پوشاننده (wrapper) برای win32 Api ه اینا هم یه همچین چیزی هستند) با اینها هم میتونی برای لینوکس هم برای ویندوز و ... برنامه بنویسی GTK خودش که با زبان C ه اما یک اینترفیس سی++ داره به نام gtkmm که از اون میتونی استفاده کنی (سی++ استاندارد). در واقع میشه گفت یک کتابخانه واحد نیست برای کارهای مختلف از کتابخانههای جداگانهای استفاده میکنه: glib و gettext و pango و atk و gdk و ... ««کاملا" رایگانه»»، هر برنامهای برای هر کی و هر پلاتفرمی بنویسی. مثلا" میزکار گنوم رو با این کتابخانه نوشتن Qt محصول شرکت Trolltech مال نروژ یا فنلاند و اون طرفاست. با سی++ ه اما نه سی++ استاندارد و خودشون اومدن یه سری extension اضافه کردن به این زبان. کاملا" رایگان «نیست». فقط برای برنامههایی که برای X Window بنویسی رایگانه و اجبارا" باید برنامهت رو هم اوپن سورس کنی. برای ویندوز هر برنامهای بنویسی، اوپم سورس غیر اوپن سورس باید پول بدی (الان دور و بر 1500 دلار برای یک پلاتفرم، برای هر port به پلاتفرمهای دیگه باید یه پول دیگه بدی! ) هر دوشون از یونیکد و متنهای چپ به راست پشتیبانی میکنند. یه عیب نسبتا" بزرگی که gtk داره مستندات بدشه. مثلا" در سایت اصلی gtk یه خودآموز (tutorial) هست مال سال 2002. تو یه بخش که باید چند تا ویجت (به اشیاء رابط کاربر در X Window میگن widget) چند تا ویجت رو باید شرح بده نوشته undocument widgets. یعنی از سال 2002 تا الان هنوز کسی پیدا نشده چهار خط برای اینا راهنما بنویسه!!!! 4 و 5 و 6 رو نمیدونم خودم هم تازه کارم تو لینوکس اگه جاییش رو اشتباه گفتم دوستان تصحیح کنند... |
|||
2004-10-08, 08:05 AM,
ارسال : #3
|
|||
|
|||
کتابخانه دیگهای که ++C هست و میتونید ازش استفاده کنید، wxWidgets هست که باهاش میشه تقریبا توی تمام پلاتفورمها برنامه نوشت... ولی برنامهتون باید GPL باشه... خیلی آسونه.. مخصوصا برای کسانی که ++Visual C کار کردهاند... xFarDic هم با همون نوشته شده است... مستندات خیلی خوبی هم داره... هم سایت، هم خودآموز و هم مرجع کامل کلاسها و...
البته مستندات QT هم خیلی کامل هست... [ltr]Life *free = new Life(const long OpenSource);[/ltr] |
|||
2004-10-08, 08:45 AM,
ارسال : #4
|
|||
|
|||
agha in php-gtk va perl - gtk chiyeh? yani rabete grafici ba perl?
|
|||
2004-10-08, 08:55 AM,
ارسال : #5
|
|||
|
|||
از همه ی دوستان تشکر می کنم.
یک سوال دیگه داشتم و اون این که چه تفاوتی بین GTK و Qt و wxWidgets وجود داره و استفاده از کدوم بهتره.....اگه هم کسی لیست header های استاندارد ++C رو می دونه بی زحمت بگه.ممنون |
|||
2004-10-08, 09:23 AM,
ارسال : #6
|
|||
|
|||
Header ها فکر نمیکنم فرقی با ویندوز داشته باشه...
تفاوتها در بالا اشاره شد.. GTK زبان C، در حالی که wxWidget و QT کتابخانههای ++C هستند... البته امکانات و قدرت QT از wxWidgets بیشتر است و البته برنامهنویسی با آن مشکلتر... [ltr]Life *free = new Life(const long OpenSource);[/ltr] |
|||
2004-10-08, 12:16 PM,
ارسال : #7
|
|||
|
|||
ممنون از همه.
|
|||
|