PDA

View Full Version : برنامه gui



tah_206207
جمعه 18 تیر 1389, 00:55 صبح
سلام دوستان من یه سوال دارم ممنون میشم جوابمو بدین
من برنامه نویس سی پلاس پلاس هستم و تا حالا برنامه گرافیکی باهاش ننوشتم می خواستم بدونم اگه سورس کد یه برنامه رو داشته باشم چطوری می تونم واسه اون gui خوب بنویسم با توجه به اینکه این برنامه از کلاسهای متعددی تشکیل شده و برنامه ای کراس پلتفرم و یه دانلود منیجر هست اسمشم aria2c هست می خواستم یه رابط کاربری واسه لینوکس واسه این نرم افزار بنویسم لطفا راهنماییم کنید که من کدوم کتابخونه ی گرافیکی رو انتخاب کنم و آیا میشه این کلاسارو تو اون کتابخانه ها استفاده کرد؟ و کدوم کتابخانه یادگیریش واسه استفاده راحت تر هست؟
اگه اطلاعات خوبی در این ضمینه واسم بدید ممنون میشم باتشکر:قلب::لبخند:

a.gh.n
جمعه 18 تیر 1389, 09:54 صبح
خب جواب کوتاه استفاده از Qt هست (با توجه به کراس پلتفرم و مبتنی بر Cpp بودن) و هدر QtGui. یه انجمن همینجا هست ، ولی دو تا مسئله هست:
1 واسط گرافیکی برای برنامه هایی که سوییچ زیاد دارند واقعا چیزی جز محدودیت ندارند... این نکته برای aria2 که آپشن زیاد داره هم بر قراره.
2 واسط گرافیکی برای aria2 نوشته شده با پرل موجوده. http://www.martin-achern.de/wgetgui/aria2gui.html

در رابطه با خود Qt هم اگر بخواید فقط برای اینترفیس از این فریم ورک استفاده کنید شاید چندان جالب نباشه.. Qt بیشتر برای پروژه هایی مفیده که تماما با اون پیاده سازی شده باشند، مثلا از توابع مخصوص شبکه Qt استفاده کنند. برای این کار که فقط اینترفیس هست، شاید استفاده از یک زبان سطح بالاتر مفید تر باشه.

blue_lotus
جمعه 18 تیر 1389, 11:42 صبح
با qt creator راحت میتونید یک رابط گرافیکی طراحی کنید. بعدش باید توی برنامتون واردش کنید و ازش استفاده کنید.

tah_206207
جمعه 18 تیر 1389, 13:39 عصر
خب جواب کوتاه استفاده از Qt هست (با توجه به کراس پلتفرم و مبتنی بر Cpp بودن) و هدر QtGui. یه انجمن همینجا هست ، ولی دو تا مسئله هست:
1 واسط گرافیکی برای برنامه هایی که سوییچ زیاد دارند واقعا چیزی جز محدودیت ندارند... این نکته برای aria2 که آپشن زیاد داره هم بر قراره.
2 واسط گرافیکی برای aria2 نوشته شده با پرل موجوده. http://www.martin-achern.de/wgetgui/aria2gui.html

در رابطه با خود Qt هم اگر بخواید فقط برای اینترفیس از این فریم ورک استفاده کنید شاید چندان جالب نباشه.. Qt بیشتر برای پروژه هایی مفیده که تماما با اون پیاده سازی شده باشند، مثلا از توابع مخصوص شبکه Qt استفاده کنند. برای این کار که فقط اینترفیس هست، شاید استفاده از یک زبان سطح بالاتر مفید تر باشه.
ممنون دوست عزیز که پاسخ دادین میشه یکم بیشتر توضیح بدین من یکم سر در گم شدم!! منظورتون از اینکه این سوییچ هارو نمیشه پیاده سازی کرد چیه ؟ یعنی برنامه برای اینکه خوب از آب در بیاد باید کلا با qt نوشته بشه ؟ راستش من می خواستم از بین جاوا یا qt واسه cpp یکی رو انتخاب کنم و ادامه بدم شما کدوم یکی رو صلاح می دونید؟
میشه همین برنامه aria2c رو یه بار دیگه با جاوا پیاده سازی کرد و خوب از آب درآورد چون لینوکس اصلا برنامه ی دانلود منیجر علی نداره! اگه بیشتر راهنماییم کنید ممنون میشم
و یه سوال دیگه آیا گستردگی کلاس های qt به اندازه ی جاوا هست و میشه با اون برنامه های enterprise و سازمانی نوشت؟
و اینکه میگید رابط گرافیکی واسه aria2c محدودیت میاره یعنی چه ؟ مگه نمیشه همه امکانات aria2c رو با qt پیاده سازی کرد؟

a.gh.n
جمعه 18 تیر 1389, 14:13 عصر
من یه کمی گیج شدم. شما بالاخره می خواید از اول یه برنامه دانلود بنویسید یا فقط اینترفیس برای aria2 طراحی کنید؟
ببینید کیوت یک فریم ورک هست. احتمالا تو انجمن مربوطه یه توضیحاتی برای مقدمه نوشته. یه سر بزنید. این فریم ورک کلی کتابخونه داره از توابع برای کار با شبکه گرفته تا کار با فایل. کیوت به شما امکان می ده این پروژه هایی به صورت کراس پلتفرم بنویسید. یعنی یک کد بنویسید که در سیستم عامل های مختلف می تونه استفاده شه. (البته تا حدی) پس این امکان رو می ده که بتونید برنامه ی اینترپرایز رو بنویسید. فکر می کنم دیگه مشکل مجوز هم وجود نداره.
کیوت کلاس هایی برای واسط گرافیکی هم داره. پس می تونید باهاش برنامه ی gui هم بنویسید ولی ویژگی اصلی Qt کراس پلتفرم بودن اون هست. یعنی برنامه ی کنسول هم به راحتی می تونید بنویسید.
حالا اگر شما می خوای برنامه رو از اول با Qt بنویسید یه بحثه اگر می خواید فقط GUI برای اون برنامه aria2c طراحی کنی یه بحثه. برنامه های گرافیکی انعطاف بالایی نسبت به برنامه های کامند لاین ندارن. مشکل سوییچ ها رو به خاطر این گفتم. وگرنه Qt محدودیتی ایجاد نمی کنه که شما برنامه هایی مثل aria2 بسازید، GUI به کارگیری این برنامه رو شاید سخت کنه. استفاده از aria2c به نظر من به اندازه ی کافی راحت هست. چون اصلا ورژن پایین تر aria یادمه واسط گرافیکی هم داشت، بعدا ترجیح داده شد gui حذف شه...
گستردگی Qt در حدی هست که Nokia ازش به شدت حمایت می کنه و میز کار KDE از اون استفاده می کنه. فکر می کنم شما که برنامه نویس Cpp هستید خوشوقت تر هستید که از کیوت استفاده کنید تا Java.