انجمن کاربران لینوکس ایران - تکنوتاکس سابق

نسخه ي کامل: راهنمایی در انتخاب رابط گرافیکی برای برنامه نویسی
شما در حال مشاهده نسخه ي متني اين صفحه هستيد. مشاهده نسخه کامل تر با قالب بندي صحيح
صفحات : 1 2

مهمان

من يک برنامه نويس C++ هستم.بعد از کلي تلاش و دست و پا زدن در سايت هاي مختلف فهميدم که براي برنامه نويسي با رابط گرافيکي ابزارهايي وجود دارد که قابليت اجرا در بسياري از پلتفرم ها را دارد.بنابراين سعي کردم بين آنها مناسب ترين را پيدا کنم و آن را ياد بگيرم. در ضمن مقداري MFCهم بلدم.بنابراين کمي مشکل پسندم! خوب معروفترين ابزارها يي که پيدا کردم Qt , WxWindows , GTK+ بود.خيلي سعي کردم تا مناسب ترين را انتخاب کنم. و بالاخره GTK+ را انتخاب کردم هرچند که هنوز شک دارم.معيار هاي من اولا قابليت پشتيباني بالا از زبان برنامه نويسي C++ است.ثانيا قابليت حمل فوق بالا! و ثالثا پشتيباني از زبان فارسي.زيبايي GUI هم براي من بسيار مهم است. بنابر اين اگر شما ابزارهاي ديگري را ترجيح مي دهيد با ذکر دليل معرفي کنيد . مطمئنا خوشحال مي شوم . اما مشکل اساسي من که باعث شد اين تاپيک را بنويسي اين بود که من براي نصب GTK+ تمامي سايت هايي که توانستم را گشتم و اخر سر هم 23 تا فايل دانلود کردم!!! حالا من موندم با صدها ERROR و مشکل. glib نصب نمي شود GTK+ موقع نصب ارور مي گيرد.GTKmm هم نصب نمي شود. حالا شديدا ملتمسانه استدعا دارم يا نحوه نصب GTK+, GTKmm را به صورت مرحله به مرحله بگوييد( خواهش مي کنم متن فايل readme را کپي نکنيد!) و يا يک نسخه از لينوکس را بگوييد که خودش اين پکيج ها را از اول نصب کند.مطمئن باشيد اگر من اين ابزارها را ياد بگيرم با تمام وجود براي OpenSource و Linux و نرم افزارهاي فارسي تحت لينوکس تلاش خواهم کرد.
با تشکر - برنامه نويسي مغروق در ERROR ها :cry: :cry: :cry: :cry: :cry:
دوست عزیز اول لطف کن بگو از چه توضیعی استفاده میکنی.
سلام

من تنها از GTK+ استفاده کرده‌ام و کدهای خود را با C می‌نویسم و در مورد QT و بقیه اطلاع خاصی ندارم. فایل‌های Development برای GTK+ تقریبا در تمامی توزیع‌ها یا به صورت پیش‌فرض نصب می‌شود یا اینکه راحت با Package Manager توزیع خود می‌توانید آن‌ها را نصب کنید. به عنوان مثال در Ubuntu:
[ltr]
کد :
$ sudo apt-get install libgtk2.0-dev libgtk2.0-doc libglib2.0-doc libpango1.0-doc libglade2.0-dev glade-2 glade-3 glade-doc libgtkmm2.0-dev libgtkmm2.0-doc devhelp
[/ltr]
یادتان باشد حتما DevHelp را هم نصب کنید و لذت استفاده از آن را آزمایش کنید Smile
برای ویندوز هم راحت‌ترین راه استفاده از <!-- m --><a class="postlink" href="http://gladewin32.sourceforge.net">http://gladewin32.sourceforge.net</a><!-- m --> به هم‌راه MinGW یا DevCpp می‌باشد (بدون gtkmm) که درنسخه‌ی 2.8 با نوشتن فارسی مشکل داشت. در این صورت فقط dev فایل‌ها را از سایت مزبور دانلود کرده و فایل‌های باینری را از <!-- m --><a class="postlink" href="http://gimp-win.sourceforge.net/stable.html">http://gimp-win.sourceforge.net/stable.html</a><!-- m --> دریافت نمائید. برای نصاب gtkmm برای ویندوز هم می‌توانید به سایت رسمی gtkmm رجوع کنید. (من تا کنون تجربه‌ای با آن نداشته‌ام)
هر چند که با C++ نیز می‌توانید برای GTK2 کد بنویسید ولی چون C++ کار هستید احتمالا gtkmm را ترجیح می‌دهید.
حالا کمی در مورد GTK+
* بسیار قابل حمل (lin, win, hurd, solaris, *bsd, beos, mac, amiga, aros, morphos و ...)
* پشتیبانی از زبان‌های c, c++, pascal, python, ruby, java, perl, ada, c#, fortran, guile, php و ...)
* برنمامه‌نویسی فوق‌العاده لذت‌بخش
* بهترین پشتیبانی از زبان‌های مختلف (مخصوصا فارسی) به واسطه‌ی Pango و بهداد اسفهبد Smile
* ساخت رابط کاربر از یک فایل xml
* ابزارهای زیبای تعبیه شده در glib (چیزی شبیه stl)
* و ...
جالب آن‌که GTK با C هم شیء گراست Smile
حالا دوستان QT کار هم اگه از مزیت‌های کیوت بگند عالی میشه.
به هر حال انتخاب با خود شماست :wink:
دو نکته نامرتبط ولی بسیار مهم:
۱- توزیع درسته نه «توضیع»
۲- موضوع رو چیزی انتخاب کنید که رسا باشه مثلا «راهنمایی در انتخاب رابط گرافیکی برای برنامه نویسی»

مهمان

از اينکه جواب داديد بسيار متشکرم.و اميدوارم پاسخ هاي بيشتري دريافت کنم!!!
اما کمي توضيح جهت روشن شدن مطلب:
من از Suse 9.3 استفاده مي کنم و در صورت لزوم مي توانم آن را ترک کنم!!!
من سعي کردم از Anjuta و Glade براي GTKmm و Qt استفاده کنم ولي Anjuta برنامه اي که خودش براي GTKmm با ويزارد ساخته بود را نتوانست Compile کند!!! و Glade هم براي استفاده از C++ مشکل داشت .
در مورد عنوان هم من به اين علت اين کار را کردم ( الان شرمنده ام ) که سوالات قبلي من را کسي جواب نداده بود!!!

مهمان

من همان مطرح کننده سوال هستم!
من همچنان اميدوارانه منتظر پاسخ هاي شما هستم . عجيب است که در اين سايت به اين بزرگي عده بسيار کمي علاقه مند به برنامه نويسي با رابط گرافيکي هستند مگر اينجا تکنوتاکس بخش برنامه نويسي نيست؟؟؟؟؟؟؟؟؟؟؟؟؟؟
ضمنا من ديشب يک گشت عميق در لينوکس زدم و متوجه شدم تمامي بسته هاي GTK+ , GTKmm در زير گروه System در Kpackage
نصب شده اند!!! ( از ابتداي نصب لينوکس) پس چرا Anjuta نمي تواند برنامه هاي GTKmm بسازد؟ پس من براي برنامه نويسي با رابط گرافيکي بايد از چه IDE استفاده کنم؟؟ پس چرا کسي درباره ساير رابط هاي گرافيکي صحبت نمي کند؟؟؟ پس چرا کسي درباره برنامه نويسي با رابط گرافيکي توضيح نمي دهد؟؟؟؟ پس چرا کسي به من جواب نمي دهد؟؟؟؟؟ پس چرا کسي من را جدي نمي گيرد؟؟؟؟؟ پس چرا در تکنوتاکس از مهمان ها اين طور پذيرايي مي کنند؟؟؟؟؟؟ پس چرا شما از احتمال اضافه شدن يک نفر ديگر به جامعه Open Sourse و نشر فرهنگ لينوکس جلوگيري مي کنيد؟؟؟؟؟؟؟ پس چرا حداقل از خود دفاع نمي کنيد؟؟؟؟؟؟؟ پس چرا به من نمي گوييد اينها چه است که نوشتم؟؟؟؟؟؟؟؟؟؟ پس چرا از بين کساني که عنوان تاپيک من را عوض مي کنند کسي پيدا نمي شود که به سوال هاي من جواب دهد؟؟؟؟؟؟؟؟؟؟؟؟؟ پس چرا بعد از جستجوي بسيار در اينترنت من پاسخي براي سوال خود نمي گيرم؟؟؟؟؟؟؟؟؟؟؟؟؟ پس آيا ممکن است پاسخي وجود نداشته باشد؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ پس چرا ............................
خوب عزيزاني که عنوان اين تاپيک را عوض کردند اي کاش حداقل از من مي خواستند که عنوان جديدي بگويم. آيا اين از جمله فرهنگ هاي Open Sourse است؟
شايد شما از طرز برخورد من ناراحت شده باشيد در اين صورت عذر مي خواهم ولي بدانيد تکنو تاکس آخرين اميد من بود!!!
با اظهار تشکر و تاسف ---------- برنامه نويسي در حال گريه-------------------
همچنان سخت منتظر پاسخ هاي شما هستم!

مهمان

سلام.
ببین من با c یا c++ برنامه نویسی نمی کنم (چون علاقه ای ندارم - بابا جون اگه نمی خواهید برنامه gimp یا سیتم عامل بنویسید چرا می روید سراغ c یا c++ --- جالب اینکه دلیل علاقه خیلی از دوستان به این زبان عدم آشنایی آنها با زبان های بهتری مثل Python با java یا Ruby هستش) و همچنین ممکنه با gtkmm هم کار نکرده باشم ولی این دلیل نمیشه که فکر کنی اینجا برنامه نویس کمه یا ... در ضمن بعضی از دوستان اینجا کاملا حرفه ای هستند.
سوال خوب بپرس تا جواب خوبی بگیری. کسی بیکار نیست عزیزم که مراحل نصب gtkmm رو برات توضیح بده.
./configure
make
make install
اگه دبیان یا اوبونتو یا پارسیکس داری خوب بزن:
apt-get install gtkmm
به نظر من دبیان یا فدورا یا ابونتو نصب کن. اگر اینترنت پر سرعت نداری همون دبیان یا فدورا عالیند. این توزیع ها برای برنامه نویسی حرف ندارند. suse رو بنداز دور.
اگر هم خواستی با python کار کنی از pygtk استفاده کن.

در ضمن به نظر من روی wxwidget (<!-- m --><a class="postlink" href="http://wxwindows.org">http://wxwindows.org</a><!-- m -->) هم بیشتر فکر کن. شاید الان بهترین گزینه برای نوشتن برنامه های cross platform باشه. (البته بعد از Java)

مهمان

Anonymous نویسنده :سلام.

کسی بیکار نیست عزیزم که مراحل نصب gtkmm رو برات توضیح بده.
در پاسخ به صحبت اين دوست عزيز بايد گفت که شايد من از فلسفه وجودي انجمن ها آگاه نيستم . مگر انجمن ها براي نشر علم و ارتقا سطح عمومي دانش افراد اجتماع نيستند؟ آيا پاسخ به اين سوالات عملي بر خلاف اين فلسفه است؟در حالي که شما خود را طرفداران فرهنگ OpenSource و انسانيت مي ناميد از پاسخ به سوال ها امتناع مي ورزيد و آن را کاري بيهوده تلقي مي کنيد؟ فرهنگOpen Source را با رفتار خود زير سوال مي بريد در حالي که خود را طرفدار آن مي پنداريد؟
شايد من مفهوم Open Source را اشتباه فهميدم!
عزيزان مرحمت کنند فلسفه وجودي انجمن ها را بيان کنند تا افرادي مانند من دچار اشتباه نشويم!!!
همچنان منتظر پاسخ هاي شما عزيزان هستم و هر جا که لازم باشد حرف هاي خود را پس مي گيرم و عذر خواهي مي کنم. با تشکر.

مهمان

اين Anonymous كيه خودش نيست اسمش هست.

مهمان

سلام.

مثل اینکه منظور من رو درست نگرفتی که این جوری داغ کردی عزیز من.
اول اینکه یک اکانت برای خودت در این انجمن بساز و البته کاری به من هم نداشته باش. Wink
دوم اینکه:
باید اول راهنمای خود gtkmm رو بخونی. بعد مرحله به مرحله اجرا می کنی.
هر جا که مشکل بر خوردی اول میری سراغ گوگل. اگر جواب نگرفتی میای اینجا پیام خطایی که باهاش مواجه شدی یا هر چی که دیدی رو اینجا میذاری تا ما بررسی کنیم ببینیم مشکل از کجاست و راه حل چیست.
مسئله بعدی اینکه بهتره یه توزیع بهتری مثل دبیان رو انتخاب کنی که فقط با یک دستور همه چیز حله.
مورد بعد اینکه با yast در suse میتونی پکیجها رو پیدا و نصب کنی.
آخر اینکه از سوالات کلی به شدت بپرهیز. مثلا بیای بپرسی من میخواهم لینوکس یاد بگیرم یکی بیاد به من یاد بده... خوب به نظرت کسی جواب میده؟ ...
انجمن برای رفع مشکل و بحث و گفتگو هست نه ارائه مقاله مثلا --چگونه gtkmm را در زوزه نصب کنیم---.
حالا یه لیوان آب خنک بخور و دو تا نفس عمیق بکش و بعد شروع کن.
موفق باشی. Smile

مهمان

سلام.من همان مطرح کننده سوال هستم . از اين پس صحبت هاي من را با اين User Name دنبال کنيد.
دوست عزيز به صحبت هاي شما عمل کردم . اين قدر که از متن به نظر مي رسيد عصباني نشده بودم . از اين که شما به جاي عصباني شدن پاسخي منطقي به من داديد متشکرم. بنابراين فعلا شما يک مرحله از من بالا تر هستيد . از نصيحت هاي زيرکانه شما هم متشکرم و اميدوارم بتوانم از آنها درست استفاده کنم.اما من به تمامي موارد بالا قبلا عمل کرده بودم و به علت اينکه نتيجه نگرفتم به اينجا آمدم.
حالا من براي روشن شدن مطلب يک جمع بندي خواهم کرد. سوالات من به شرح زير است:
1- با کداميک از IDE ها مي توان يک برنامه C++ براي استفاده از GTKmm نوشت. اگر Designer براي طراحي GUI هم داشته باشد بسيار عالي مي شود.
2- من در ابتداي نصب لينوکس تمامي تکرار مي کنم تمامي پکيج هاي لينوکس را نصب کردم. و الان هم پکيج هاي GTKmm و ساير
پکيج هاي وابسته به صورت نصب شده در Kpackage نمايش داده مي شود.پس چرا Anjuta نمي تواند يک برنامه GTKmm را که خودش بدون هيچ دخالتي از جانب من ساخته است Compile & Run کند؟
3-آيا برنامه هاي GTKmm پس از کامپايل فرمت خاصي قابل اجرا در بيشتر پلتفرم ها دارند يا بايد در هر محيطي دوباره کامپايل شوند؟در صورتي که اين طور است (حالت دوم ) آيا فرايند کامپايل به راحتي صورت مي گيرد يا بايد صدها Error مبني بر عدم دسترسي به کتابخانه هاي وابسته دريافت کرد ؟
در ضمن من GTKmm را انتخاب کردم دلايل من به شرح زير است . اگر ابزارهاي بهتري با توجه به دلايل من وجود دارد معرفي کنيد:
1-ابزار مورد نظر از C++ استاندارد استفاده کند.
2- قابليت حمل داشته باشد.
3- GUI هاي زيبايي بسازد.
4- قابليت پشتيباني از Open GL را داشته باشد.
5- تحت GPL باشد.
از حوصله و همکاري شما کمال تشکر را دارم.
همچنان مشتاقانه منتظر جواب هاي شما هستم!
Anonymous نویسنده :من همان مطرح کننده سوال هستم . از اين پس صحبت هاي من را با اين User Name دنبال کنيد.

قبلا Log in کرده بودم.
سلام!
فقط خواستم یک جمله بگویم:
آیا کسی در اینجا پیدا نمی شود که جواب سوالات من را بدهد؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
با سلام
من تازه شروع کردم با QT برنامه نویسی کنم . یکمی هم جلو رفتم .به نظر من بد نمی یاد . امکانات و منابع خوبی هم داره .
اما به نظر من تقریبا با همه زبان های برنامه نویسی امروز می تونی کارهایی را که می خواهی انجام بدی نظیر python, GTKmm , ... همشون منابع کامل و جامعی دارن . در همه لینوکس ها می تونی python و c++ /c کامپایل کنی بدون نیاز به محیط (IDE) برای GTKmm فکر کنم KDevelop محیط مناسبی باشه . یکم در موردش تحقیق کن .
اگر به اینترنت هم دسترسی داری توصیه می کنم توزیع Debian یا توزیع های میتنی بر Debian نظیر Kubuntu , Knoppix , Parsix و ... را برای کار انتخاب کنی (می تونی از قسمت فروش سایت هم تهیه کنی)
موفق باشید
http://www.gtk.org/tutorial/
http://www.gtkmm.org/docs/gtkmm-2.4/docs/

مهمان

نقل قول :باید اول راهنمای خود gtkmm رو بخونی. بعد مرحله به مرحله اجرا می کنی.
هر جا که مشکل بر خوردی اول میری سراغ گوگل. اگر جواب نگرفتی میای اینجا پیام خطایی که باهاش مواجه شدی یا هر چی که دیدی رو اینجا میذاری تا ما بررسی کنیم ببینیم مشکل از کجاست و راه حل چیست.

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

مهمان

نقل قول :باید اول راهنمای خود gtkmm رو بخونی. بعد مرحله به مرحله اجرا می کنی.
هر جا که مشکل بر خوردی اول میری سراغ گوگل. اگر جواب نگرفتی میای اینجا پیام خطایی که باهاش مواجه شدی یا هر چی که دیدی رو اینجا میذاری تا ما بررسی کنیم ببینیم مشکل از کجاست و راه حل چیست.

جایی در قوانین انجمن‌ها به این قواعد من‌درآوردی شما برنخوردم. شما فکر می‌کنید که هستی که اینطور مردم رو به سر می‌گردونی؟ گیرم که و تنها کسی باشی که جواب سوال ایشون رو بلدی، اگر دیگر دوستان هم میخواستن مث تو جواب ایها الناس رو بدن که نه این سایت اینقدر گسترش پیدا می‌کرد و نه اصلا تا حالا عمر میکرد.
پیشنهاد می‌کنم کسانی که نمی‌خوان جواب مراجعه‌کنندگان رو بدن، زحمت بکشن و سکوت کنند. اصلا و ابدا کسی این سکوت رو به معنای بی‌سوادی یک میهمان گم‌نام استنباط نخواهد کرد Big Grin
دوست عزيز من خودم با هيچ‌كدوم از مواردي كه شما سوال كردين شخصا كار نكردم و مثل شما در شروع راه هستم ولي يك چند وقتي مثل شما در اين زمينه تحقيق كردم. اكثر برنامه نويسان فقط با يكي از اين چند موردي كه شما نوشتين كار ميكنند و قاعدتاً نمي‌توانند يكي را براي شما توصيه كنند. تا حدود زيادي هم سليقه در انتخاب شما مهم خواهد بود. هر صد البته در مواردي هم تعصب و علاقه به يك موضوع وجود دارد كه باعث ميشود جانب انصاف رعايت نشود. يك نگاهي به اين چند تا لينك بندازين. اميدوارم مفيد واقع بشه. ضمناً‌همانطور كه تو اين لينك‌ها هم امده در نهايت نميشه به جواب يكساني رسيد.
[ltr]
<!-- m --><a class="postlink" href="http://www.wxwidgets.org/wiki/index.php/WxWidgets_Compared_To_Other_Toolkits">http://www.wxwidgets.org/wiki/index.php ... r_Toolkits</a><!-- m -->
<!-- m --><a class="postlink" href="http://lists.debian.org/debian-user/2006/08/msg01742.html">http://lists.debian.org/debian-user/200 ... 01742.html</a><!-- m -->
<!-- m --><a class="postlink" href="http://mail.gnome.org/archives/gtkmm-list/2006-January/msg00248.html">http://mail.gnome.org/archives/gtkmm-li ... 00248.html</a><!-- m -->
[/ltr]
از سیل جواب ها حیرت زده شدم!
شدیدا از تمامی کسانی که جواب دادند متشکرم.بنابراین با توجه به جواب ها من فکر می کنم باید روی این موضوع کار شود تا تمام دنیا از سرگردانی در آیند! بنابراین از تمامی کسانی که تجربه ای حتی در تحقیق در این رابطه هم داشته اند خواهش می کنم نظر دهند!
من هم سعی می کنم شاید به نتیجه ای برسم! پس خواهشا نظر دهید!
چرا کسی جواب نمی دهد؟؟؟؟؟؟؟؟

مهمان

فکر نمیکنید راهنمایی و توضیح در این رابطه واسه شروع کار کافی باشه؟
یه خورده فعالیت و جستجو از طرف خودتون خیلی میتونه بهتون کمک کنه.
منظورم اینه که باید کارو شروع کنی /نه اینکه منتظر بمونی تا یکی بیاد مرحله به مرحله تا آخر بگه چیکار کنی.
---
m.a
---
صفحات : 1 2