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

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


ارائه ۲۴٫۱۰ اوبونتو منتشر شد 🎉

نویسنده موضوع: چگونه برنامه نویسی کنم؟  (دفعات بازدید: 12187 بار)

0 کاربر و 6 مهمان درحال مشاهده موضوع.

آفلاین سید مسعود امامیان

  • Hero Member
  • *
  • ارسال: 951
پاسخ : چگونه برنامه نویسی کنم؟
« پاسخ #15 : 03 فروردین 1392، 04:08 ب‌ظ »
خوب ِ سوال اینجا مطرح بشه که در Qt چطوری dllهای پروژه رو همراه پروژه بیاریم ؟!
به عمل کار برآید     به سخندانی نیست . . .

آفلاین سید مسعود امامیان

  • Hero Member
  • *
  • ارسال: 951
پاسخ : چگونه برنامه نویسی کنم؟
« پاسخ #16 : 03 فروردین 1392، 04:18 ب‌ظ »
سوال بعدی :
نقل‌قول
تنها یک بار هسته اصلی برنامه خود را بنویسید و سپس بخش رابط گرافیکی را متناس به محیطی که باید در آن اجرا شود انتخاب کنید.

نقل‌قول
مثلاً یک برنامه حسابداری می‌تواند یک هسته اصلی داشته باشد که رابط MFC برای ویندوز ، رابط +GTK برای گنوم روی لینوکس ، رابط Modern UI برای اجرا روی تبلت های Windows RT و یا حتی رابط HTML5 برای استفاده بر روی وب داشته باشد.

این کار چگونه امکان پذیر هست ؟ ممنون می شوم کمی این قسمت رو بازتر کنید یا اگر امکان دارد لینکی برای مطالعه بیشتر ارائه دهید .
به عمل کار برآید     به سخندانی نیست . . .

آفلاین r_m1232002

  • Full Member
  • *
  • ارسال: 143
پاسخ : چگونه برنامه نویسی کنم؟
« پاسخ #17 : 03 فروردین 1392، 04:23 ب‌ظ »
خوب ِ سوال اینجا مطرح بشه که در Qt چطوری dllهای پروژه رو همراه پروژه بیاریم ؟!

هنگام نوشتن برنامه های Qt ماژول هایی وجود دارند که هرکدام امکانات خاصی را در اختیار شما قرار می دهند. هنگامی که برنامه شما پس از کامپایل به شکل یک فایل exe آماده شد کافی است درست در همان محل فایل اصلی، DLL های ماژول های استفاده شده در برنامه تان را نیز قرار دهید. به این ترتیب می توانید برنامه خود را به صورت یک فایل exe  و چند DLL برای اجرا در کامپیوتر های دیگر ارایه دهید. به طور مثال QtGUI4.dll  اغلب در کنار تمام برنامه های میتنی بر Qt4  منتشر می شود.

اگر هم اصرار دارید که به شکل استاتیک Qt را لینک کنید به مستندات زیر رجوع کنید:
http://qt-project.org/doc/qt-5.0/qtdoc/deployment-windows.html
« آخرین ویرایش: 03 فروردین 1392، 04:32 ب‌ظ توسط r_m1232002 »

آفلاین علی هردان

  • Full Member
  • *
  • ارسال: 243
  • جنسیت : پسر
پاسخ : چگونه برنامه نویسی کنم؟
« پاسخ #18 : 03 فروردین 1392، 04:35 ب‌ظ »
سلام. خیلی ممنون از پاسخ خوب و کاملتون. اصلا انتظار چنین پاسخی رو نداشتم.  :oops: واقعا خوب و کامل بود و قطعا کسانی که بعدا به این تاپیک میان استفاده خواهند کرد. من هم کلی استفاده بردم. تصمیم خودم رو گرفتم، میخوام برای طراحی برنامه GUI از فریم ورک Qt بهره ببرم. ولی یک سوال دیگه هم دارم. توی لینکی که شما دادید، آموزش لینک کردن Qt به صورت استاتیک در ویندوز بود. در اوبونتو هم چنین چیزی ممکنه یا حتما باید پکیج های Qt همراه برنامه نصب بشن؟
ممنون

آفلاین MHA152

  • High Hero Member
  • *
  • ارسال: 2745
  • جنسیت : پسر
  • من عاشق یونیکسی ها هستم
پاسخ : چگونه برنامه نویسی کنم؟
« پاسخ #19 : 03 فروردین 1392، 04:38 ب‌ظ »
خیلی توضیحات خوبی بود دیدم را کامل درست کردید آخرین نسخه ی qt creator چند است الآن؟ درضمن با نصب کردن آن آیا کتابانه های qt خودکار نصب می شوند؟qt designer با qt creator چه فرقی داره؟
« آخرین ویرایش: 03 فروردین 1392، 04:46 ب‌ظ توسط MHA152 »
بهتون پیشنهاد می کنم به دنیای بزرگ شبه−یونیکس وارد بشید و از پیشرفت لذت ببرید
جیمیلم

آفلاین r_m1232002

  • Full Member
  • *
  • ارسال: 143
پاسخ : چگونه برنامه نویسی کنم؟
« پاسخ #20 : 03 فروردین 1392، 04:45 ب‌ظ »
سلام. خیلی ممنون از پاسخ خوب و کاملتون. اصلا انتظار چنین پاسخی رو نداشتم.  :oops: واقعا خوب و کامل بود و قطعا کسانی که بعدا به این تاپیک میان استفاده خواهند کرد. من هم کلی استفاده بردم. تصمیم خودم رو گرفتم، میخوام برای طراحی برنامه GUI از فریم ورک Qt بهره ببرم. ولی یک سوال دیگه هم دارم. توی لینکی که شما دادید، آموزش لینک کردن Qt به صورت استاتیک در ویندوز بود. در اوبونتو هم چنین چیزی ممکنه یا حتما باید پکیج های Qt همراه برنامه نصب بشن؟
ممنون

امکان لینک استاتیک در لینوکس هم وجود دارد. به این مطلب مراجعه کنید:
http://qt-project.org/forums/viewthread/5080

اما توجه داشته باشید لینک استاتیک کتابخانه ها در اغلب موارد اصلا کار درستی نمی باشد. با توجه به مزایای بسیار لینک داینامیک ، لینک استاتیک فقط در شرایط خاص توصیه می گردد.

آفلاین r_m1232002

  • Full Member
  • *
  • ارسال: 143
پاسخ : چگونه برنامه نویسی کنم؟
« پاسخ #21 : 03 فروردین 1392، 04:51 ب‌ظ »
خیلی توضیحات خوبی بود دیدم را کامل درست کردید آخرین نسخه ی qt creator چند است الآن؟ درضمن با نصب کردن آن آیا کتابانه های qt خودکار نصب می شوند؟qt designer با qt creator چه فرقی داره؟

آخرین نسخه Qt Creator  و کتابخانه Qt از آدرس http://qt-project.org/downloads قابل دسترس هستند. این دو نرم افزار مستقل هستند اما معمولا در یک بسته نیز ارایه می شوند.

Qt Designer در گذشته تنها برای طراحی رابط کاربری مورد استفاده قرار می گرفته است. در حال حاضر Qt Creator  که یک IDE کامل است برای استفاده توصیه می گردد.

آفلاین سید مسعود امامیان

  • Hero Member
  • *
  • ارسال: 951
پاسخ : چگونه برنامه نویسی کنم؟
« پاسخ #22 : 03 فروردین 1392، 05:03 ب‌ظ »
تشکر بابت اطلاعات خوبتون. امیدوارم به دفعات زیاد به این انجمن سر بزنید .

Creator بعد از Designer به وجود اومد و از اونجایی که Qt Creator یک برنامه پلاگین محور هست , می توانید Designer  رو به عنوان یک پلاگین برای Creator فرض کنید .
به عمل کار برآید     به سخندانی نیست . . .

آفلاین r_m1232002

  • Full Member
  • *
  • ارسال: 143
پاسخ : چگونه برنامه نویسی کنم؟
« پاسخ #23 : 03 فروردین 1392، 05:07 ب‌ظ »
سوال بعدی :
نقل‌قول
تنها یک بار هسته اصلی برنامه خود را بنویسید و سپس بخش رابط گرافیکی را متناس به محیطی که باید در آن اجرا شود انتخاب کنید.

نقل‌قول
مثلاً یک برنامه حسابداری می‌تواند یک هسته اصلی داشته باشد که رابط MFC برای ویندوز ، رابط +GTK برای گنوم روی لینوکس ، رابط Modern UI برای اجرا روی تبلت های Windows RT و یا حتی رابط HTML5 برای استفاده بر روی وب داشته باشد.

این کار چگونه امکان پذیر هست ؟ ممنون می شوم کمی این قسمت رو بازتر کنید یا اگر امکان دارد لینکی برای مطالعه بیشتر ارائه دهید .

اساسی ترین موضوع این است که هسته اصلی برنامه شما مستقل از رابط کاربری نوشته شود. سپس یک بخش واسطه برای کار با رابط کابری بنویسید که بتواند به رابط های کاربری مختلف متصل شود.

به طور مثال فرض کنید هسته اصلی برنامه نیاز دارد تا یک عدد را از کاربر دریافت کند. هسته اصلی تابع GetXNumber را از بخش واسطه فراخوانی می کند. حال بخش واسطه متناسب با رابطی که با آن در ارتباط است تابع مناسب را صدا می زند. مثلا می تواند محتویات یک TextBox را از MFC  یا Qt بخواهد. می تواند مقدار یک فیلد را از یک صفحه HTML بخواند ، دستور cin را برای دریافت عدد از ترمینال اجرا کند و یا حتی یک دستور RPC برای یک کامپیوتر دیگر در شبکه ارسال کند و عدد را از آنجا دریافت کند. به این ترتیب می بینید هسته اصلی برنامه با هر رابطی که کار کند برایش تفاوتی ندارد.

اما برای پیاده سازی چنین کدی می توان در ساده ترین حالت کد هسته را کپی کرد و با رابط های مختلف، نرم افزار های متناسب برای پلتفرم های متفاوت ایجاد کرد. می توان تنها یک نسخه از برنامه برای پلتفرمهای مختلف ایجاد کرد اما با استفاده از دستورات Preprocessor  در هنگام کامپایل تنها رابط مناسب را کامپایل کرد. و به شکل حرفه ای تر می توان با استفاده از ابزارهایی چون Make ، هنگام کامپایل برنامه تنها بخش های مناسب پلتفرم هدف را کامپایل نمود.
« آخرین ویرایش: 03 فروردین 1392، 05:13 ب‌ظ توسط r_m1232002 »

آفلاین MHA152

  • High Hero Member
  • *
  • ارسال: 2745
  • جنسیت : پسر
  • من عاشق یونیکسی ها هستم
پاسخ : چگونه برنامه نویسی کنم؟
« پاسخ #24 : 03 فروردین 1392، 05:23 ب‌ظ »
فکر کنم دوباره قاطی کردم این چیزیه که من فهمیدم اگه اشتباه است بهم بگید:
qt creator یک نرم افزار است که از کتابخوانه های qt استفاده می کنه وبه شما کمک می کنه تا بتوانید راحت تر یک محیط گرافیکی برای برنامه ی خود بسازید
پس این نرم افزار از چه زبانی استفاده می کنه(پیشفرض از سی)ولی من می خوام با پایتون کد بزنم باید چی کار کنم
بهتون پیشنهاد می کنم به دنیای بزرگ شبه−یونیکس وارد بشید و از پیشرفت لذت ببرید
جیمیلم

آفلاین سید مسعود امامیان

  • Hero Member
  • *
  • ارسال: 951
پاسخ : چگونه برنامه نویسی کنم؟
« پاسخ #25 : 03 فروردین 1392، 05:24 ب‌ظ »
تشکر. اگر قرار بر این باشد در صورت نیاز که با Make کار کنم باAutomake کار می کنم .
http://www.gnu.org/software/automake
به عمل کار برآید     به سخندانی نیست . . .

آفلاین r_m1232002

  • Full Member
  • *
  • ارسال: 143
پاسخ : چگونه برنامه نویسی کنم؟
« پاسخ #26 : 03 فروردین 1392، 05:40 ب‌ظ »
فکر کنم دوباره قاطی کردم این چیزیه که من فهمیدم اگه اشتباه است بهم بگید:
qt creator یک نرم افزار است که از کتابخوانه های qt استفاده می کنه وبه شما کمک می کنه تا بتوانید راحت تر یک محیط گرافیکی برای برنامه ی خود بسازید
پس این نرم افزار از چه زبانی استفاده می کنه(پیشفرض از سی)ولی من می خوام با پایتون کد بزنم باید چی کار کنم

QtCreator  برای سهولت استفاده برنامه نویسان زبان ++C از کتابخانه Qt طراحی شده و از زبان Python پشتیبانی نمی کنه. اگر شما قصد دارید تا با استفاده از زبان پایتون از کتابخانه Qt استفاده کنید باید به کتابخانه های PyQt و یا PySide مراجعه کنید. فکر کنم PyQt نرم افزارهای کمکی برای طراحی رابط گرافیکی داشته باشه.

آفلاین AmirrezaGhaderi

  • Jr. Member
  • *
  • ارسال: 90
  • جنسیت : پسر
    • حساب تویتر من
پاسخ : چگونه برنامه نویسی کنم؟
« پاسخ #27 : 03 فروردین 1392، 07:04 ب‌ظ »


اما توجه داشته باشید لینک استاتیک کتابخانه ها در اغلب موارد اصلا کار درستی نمی باشد. با توجه به مزایای بسیار لینک داینامیک ، لینک استاتیک فقط در شرایط خاص توصیه می گردد.


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

آفلاین r_m1232002

  • Full Member
  • *
  • ارسال: 143
پاسخ : چگونه برنامه نویسی کنم؟
« پاسخ #28 : 03 فروردین 1392، 07:41 ب‌ظ »


اما توجه داشته باشید لینک استاتیک کتابخانه ها در اغلب موارد اصلا کار درستی نمی باشد. با توجه به مزایای بسیار لینک داینامیک ، لینک استاتیک فقط در شرایط خاص توصیه می گردد.


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

علاقه مند هستم با توضیح دیدگاه خود ، اشتباه احتمالی من را تصحیح کنید:
http://forum.ubuntu.ir/index.php/topic,60232.0.html