PDA

View Full Version : سوالات مبتدی در مورد Qt



ravand
جمعه 11 فروردین 1391, 11:12 صبح
ببخشيد من هيچي از qt نميدونم . ميشه به سوالاتم پاسخ بديد؟
1) من شنيدم اگه با qt برنامه اي بنويسم اين برنامه با چند تا سيستم عامل كار ميكنه . سيستم عامل هايي مثل mobile/win/mac/linux/bsd/tablet va آيا درسته؟
2) آيا براي كار كردن با اين زبان بايد حتما سي پلاس پلاس ياد بگيرم؟ يا نيازي نيست .
3) من براي كار با اين برنامه برنامه ي qt-creator-win-opensource-2.4.1 رو نصب كردم . حالا يك برنامه ي كامپايلر براي اجراي كدهاي اين زبان هم نياز دارم يا روي خود برنامه هست؟ و نيازي به يك برنامه ي جداگانه نيست؟
4) آيا اين زبان بهتر از سي شارپ هست ؟ به چه دليل؟
من خودم طراح سايتم و با php كار كردم . شنيدم يه رابطه اي بين اين زبان و كيو تي هست ميشه توضيحي بديد ؟
متشكرم.

mousamk
جمعه 11 فروردین 1391, 13:39 عصر
1) کدی که مینویسید قابل حمل بین سیستم عاملهای مختلف هستن و در هرکدام باید با کامپایلر خودش کامپایل کنید تا در آن سیستم عامل اجرا شود. مثل جاوا نیست که یک بار کامپایل کنید و نتیجه را در هر سیستم عامل اجرا کنید. لیست پلتفرمهایی که کیوت روشون اجرا میشه رو تو ویکیپدیا (http://en.wikipedia.org/wiki/Qt_%28framework%29#Platforms) میتونین ببینین.

2) کیوت روی زبانهای متنوعی bind شده که اینجا (http://en.wikipedia.org/wiki/Qt_(framework)#Bindings) میتونین فهرستشون و سطح پشتیبانی شده رو ببینین، بنابراین در ظاهر میتونین بدون استفاده از سی++ و با استفاده از زبان دلخواه از آن استفاده کنین، اما تجربه خود من نشون میده که در عمل مشکلاتی با این Bindingها پیش میاد که بهتره از همون اول از سی++ استفاده کنیم.

3) برنامه QtCreator فقط یک IDE هست و برای کامپایل و اجرا کافی نیست. شما باید لایبرری کیوت، کامپایلر و دیگر ابزارهای لازم رو هم داشته باشین تا بتونین به طور کامل ازش استفاده کنین. البته لازم نیست تک تک اینها را دانلود و نصب و تنظیم کنید، بلکه با دانلود و نصب Qt SDK (http://qt.nokia.com/downloads/) همه اینها در اختیارتون قرار میگیرن.

4) اولا توجه داشته باشین که کیوت زبان نیست و بلکه مجموعه ای از لایببریها (کلاسها) و ابزار (کامپایلر، moc، uic و ...) برای زبانهای مختلف از جمله سی++ هست. یعنی در اصل کیوت رو میتونین با داتنت مقایسه کنین و نه با فقط زبان سی شارپ.
در مورد این مقایسه هم نمیشه یک جواب بله یا خیر داد چون هر کدوم مزیتها و معایب خودشون رو نسبت به دیگری دارن. سی شارپ زبان سطح بالاتری است و برای نوشتن برنامه های کاربردی و کلا سطح بالا راحتتر و قویتر از کیوت است، اگرچه کیوت هم برای برنامه نویسی سطح بالا مناسب است. اما کیوت/سی++ توانایی نوشتن برنامه های سطح پایین و برنامه هایی که سرعت و کارایی در آنها مهم است را هم دارد و علاوه بر آن، مهمترین مزیتش Cross Platform بودن آن است که شما یک بار کد مینویسید و آن برنامه را در هر سیستم عامل بعد از کامپایل به شکل native آن سیستم اجرا میکنید که خیلی سریعتر و کارامدتر از اجرای کد میانی داتنت است.
مزیت بزرگ دیگر کیوت هم که البته در کشور ما چندان به چشم نمی آید، منبع باز و رایگان بودن آن است، برای همین بیشتر بین جامعه اپن سورس محبوب است.

تنها رابطه ای که بین کیوت و php به نظرم میرسه همون وجود داشتن binding کیوت برای php با نام PHP-Qt هست که البته تا حالا بررسی نکردمش و نظری در موردش ندارم.

حامد مصافی
جمعه 11 فروردین 1391, 13:45 عصر
قبل از هر چیز: لطفاً سوالاتتون رو در بخش مناسبی مطرح کنید تا بنده مجبور به انتقال نباشم.

۱- بله
۲- در زبان‌های متعددی میشه از کیوت استفاده کرد. اگر تصمیم دارید در c++ از این تولکیت استفاده کنید بدیهیه که باید c++ رو بلد باشید. اما برای مثال کسی که در پایتون از این کتابخانه‌ها استفاده می‌کنه نیازی به c++ نداره.
۳- کامپایلر mingw به همراه کیوت عرضه می‌شود. اما می‌توانید در کامپایلر‌های دیگری (مانند mc++) نیز آن را به کار بگیرید.
۴- یک زبان برنامه‌نویسی با یک چهارچوب قابل قیاس نیست! مگر اینکه منظورتان مقایسه کیوت و دات‌نت باشد که در اینصورت بحث گسترده است.

ravand
جمعه 11 فروردین 1391, 15:47 عصر
ببخشيد اين برنامه ي Qt SDK لينكش خرابه و دانلود نميكنه . و mingw هم اصلا گيرم نيومد.
راستي اينو يادم رفت بپرسم:
qt سورس باز هست يا بسته؟ و اگه سورس باز هست ميشه كاري كرد كه كسي به كدهاش دسترسي نداشته باشه؟

mousamk
جمعه 11 فروردین 1391, 16:12 عصر
لینکش خراب نیست، به خاطر تحریم نمیذاره.
از اینجا هم میتونین دانلودش کنین:
http://uni-smr.ac.ru/archive/dev/cC++‎‎‎/Qt/
(با تشکر از دوست عزیز pumper (http://barnamenevis.org/member.php?40476-pumper))

ویرایش: نمیدونم چرا لینکش سالم کپی نمیشه! وقتی لینک رو باز کردین، کاراکترهای اضافی بعد از ++ رو حذف کنین و C بزرگ رو هم به c کوچیک تغییر بدین.

ravand
جمعه 11 فروردین 1391, 16:57 عصر
ميگم اين كامپايلري كه شما دادي برعكس اون برنامه اي كه روي سايت نوكيا هست حجمش خيلي زياده و از يك گيگابايت بيشتره.
حالا اين كيو تي سورس باز هست يا بسته؟

mousamk
جمعه 11 فروردین 1391, 17:04 عصر
ميگم اين كامپايلري كه شما دادي برعكس اون برنامه اي كه روي سايت نوكيا هست حجمش خيلي زياده و از يك گيگابايت بيشتره.

نه همونجا هم حجمش همینه. به Offline installer نگاه کنین. اونی که حجمش 15 مگابایته online installer هست که موقع نصب همه چی رو دانلود و نصب میکنه.


حالا اين كيو تي سورس باز هست يا بسته؟

کیوت خودش منبع باز هست ولی به این معنی نیست که شما هم برنامه تون باید منبع باز باشه، بلکه اون دست خودتونه که با چه مجوزی منتشر کنین.

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

ho3ein.3ven
سه شنبه 19 اردیبهشت 1391, 23:09 عصر
سلام . با این کامپایلر میشه برای موبایل هم برنامه نوشت ؟ اگه اینطوری هست لطفا بگین چطوری ؟ من سی پلاس پلاس بلدم.

ho3ein.3ven
پنج شنبه 21 اردیبهشت 1391, 13:14 عصر
به به چقدر این قسمت فعال هست.

returnx
پنج شنبه 21 اردیبهشت 1391, 21:01 عصر
به به چقدر این قسمت فعال هست.
خوب شما یک Search کوچیک میکردید به جوابتون میرسیدید ، بله میشه برای موبایل هم برنامه نوشت...
در ضمن Qt کامپایلر نیست ، فریم ورک هست که تحت زبان برنامه نویسی C++ کار میکنه و کتابخانه هاش با C++ نوشته شده...

ho3ein.3ven
پنج شنبه 21 اردیبهشت 1391, 23:18 عصر
برای شروع باید چیکار کنم ؟ http://uni-smr.ac.ru/archive/dev/cc++/Qt/QtCourseMaterial_L1-L10.zip اینو دانلود کنم یا qt sdk ?

سوداگر
جمعه 22 اردیبهشت 1391, 00:57 صبح
Qt SDK

اون لینک آموزشش هست
=========================

ho3ein.3ven
جمعه 22 اردیبهشت 1391, 11:23 صبح
ممنون .حجمش 1.28 gb فک کنم 2-3 روزی طول بکشه