# زبان های اسکریپتی > دیگر زبان های اسکریپتی >  qt چیست ؟ نحوه برنامه نویسی به زبان پایتون در آن

## conter

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

بعد متوجه شدم یک سری از نرم افزار های لینوکس با qt نوشته شدند من سرچ کردم ولی چیز درست و حسابی دستگیرم نشد ...یعنی خیلی مبهم بودن یک توضیح واضح و مشخص میخوام . 

آیا میشه با این محیط qt به هر زبانی برنامه نوشت ؟ مزیت هاش نسبت به eclips یا mono چیه ؟ 

با چه زبون برنامه نویسی توش برنامه بنویسیم بهتره منظورم اینه که من با C#‎  آشنایی دارم و به C++‎ مسلطم حالا ارزش اینو داره من برم سمت یاد گرفتن پایتون ؟ که توی این محیط کار کنم ؟‌

کلا راهنماییم کنید که از این سر در گمی در بیام !!!! ممنون

----------


## pani.khoram

سلام وقت بخیر
qt یکی از پلتفرم های خیلی معروف دنیاست که رویه تمام سیستم عامل ها قابلیت پیاده سازی داره . فوق العاده قوی است ، تا جایی که خود من خوندم و می دونم ، گوگل حتی درون سرویس هاش از این پلتفرم داره استفاده می کنه ، اتوکد ، VLC Player  و ... . چند نکته ، اگه قرار تو ایران کد بزنی خیلی این زبان خوبه به شرط اینکه برای حداقل 5 سال دیگه برنامه ریزی داشته باشی ، ما هنوز سیستمی درون ایران نداریم که همچین پلتفرم نیاز داشته باشه برای پیاده سازی ، با سی شارپ ، سی  ، PHP  و تمام زبان ها می شه باهاش کار کرد . 
در حال حاضر تو سطح برنامه نویسی های سطح بالا ، جاوا تو بورس خیلی زیاد و پایگاه داده هم که oracle و db2 ، تمام سیستم های بانکلی ، قرض الحسنه و سایت های کاربردی ایران مثل هواشناسی و ... رویه این بستر ها پیاده سازی شده اند . 
نکته دیگه اینه که ، فقط دنبال کد زدن باشی یا نه ، یه موقع هست که شما پول و درآمد حاصل از کار مهم تر می شه ان وقت می بینید که خیلی کد زدن و تکنیکال بودن کافی نیست . شاید بری سراغ لایفری و خیلی از سیستم های مشابه که درآمد زا باشند . 

در کل بستگی به هدفتون داره و شدیدا معتقدم که من فقط برای خودم می تونم نسخه بپیچم و هیچ وقت این قدر قدرت و جسارت رو ندارم که برای کسی بگم چی درسته یا نه ، تنها فقط می تونم بگم شما که شناخت خوبی از سی دارید سعی کنید در همین راستا حرکت کنید ، خوشختانه ، هم جاوا و هم PHP و حتی QT PLATFORM از لحاظ کد زدن خیلی شبیه به سی استاندارد هستند . 

موفق باشید

----------


## conter

خوبی من اینه من هیچ اهمیتی به بازار کارش نمیدم من دنبال علمش هستم ... من خرجمو با وب و همون php در میارم این رو واسه اینکه روی لینوکس خودم برنامه بنویسم دارم یاد میگیرم شاید بعدا به کار اومد اصولا من خیلی خود کفام و چیزایی که لازم دارم و دوست دارم خودم تهیه و تولید کنم (چه تعریفی از خودم کردم) واسه همین دنبال یک محیط قدرتمند و بدون وابستگی میگردم . 

ممنون از راهنماییتون

----------


## arvant

به یکی گفتن خربزه می خوای یا هندونه گفت هردوانه 

pyqt

پایتون رو که از قدیم گفتن یه دو روز آخر هفته رو براش در نظر بگیر یاد می گیری برنامه نویسیش رو  :)
رابط کاربری هم اگه از کیوت خوشت اومده می تونی از پی کیوت استفاده کنی.

----------


## eshpilen

Qt یک کتابخانهء اپلیکیشن و GUI بازمتن است که در زبان سی++ نوشته شده.
یعنی امکاناتی که برای نوشتن اپلیکیشن های دسکتاپ و رابطهای گرافیکی نیازه.
البته باهاش برنامهء کامندلاین هم میشه نوشت.
امکانات GUI مثل دکمه ها و Text box ها و کمبوباکس ها و امکانات کار با گرافیک و مالتی مدیا رو داره.
امکانات بیشتری هم داره.
و یک فریمورک هم هست؛ یعنی فقط یک کتابخانهء ساده نیست که فقط چندتا کلاس و اشیاء گرافیکی و اینها رو توش ریخته باشن، بلکه یک ساختار گسترده تر و سطح بالاتری هم داره و امکانات جایگزین ارائه داده که مثلا شما بجای امکانات محدود و ساختارهای سطح پایین سی++ میتونی از اونا استفاده کنی که از نظر سرعت و راحتی برنامه نویسی و کمک به امنیت یا کمتر باگ داشتن برنامه میتونن خیلی مفید باشن.

خب بعد دیگران اومدن و در زبانهای دیگر غیر از سی++ هم Binding و اینها درست کردن که شما بتونی از توی زبانهای دیگه مثل پایتون و PHP و غیره هم از کتابخانه های Qt استفاده کنی. اصل کیوت به زبان سی++ هست و محیط طراحی ویژوال هم داره. ولی شما اگر سی++ بلد نیستی یا نمیخوای با سی++ کار کنی میتونی در داخل زبانهای دیگر هم به امکانات داخل کتابخانهء کیوت دسترسی داشته باشی.

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

----------


## conter

ممنون از همه دوستان عزیز من تخصصم توی php هست ولی به C++‎ هم تسلط خوبی دارم اگر توی qt با زبان C++‎ میشه برنامه داد بیرون منظورم برنامه ای که مثلا با vb.net یا vb6  میشه نوشت رو اگر بشه توی qt با C++‎ نوشت من روی همین کار کنم و دیگه وقتمو تلف نکنم برم پایتون یاد بگیرم !‌ در این مورد اخر هم میشه راهنمایی کنید ممنون !

----------


## eshpilen

بله با سی++ کاملا میشه. گفتم که اصل کیوت با سی++ است.
ولی خب انتظار نداشته باشید همهء امکاناتی که در محیط و ابزارهای بومی میکروسافت هست رو در کیوت براحتی پیدا کنید.
مثلا در دات نت تاجاییکه یادمه کتابخانهء رمزنگاری هم هست که امکانات گسترده ای داره.
ولی در کیوت من خودم چند سال پیش دنبال همچین امکانی میگشتم. در خود کیوت که نبود، ولی کتابخانه های سی++ برای رمزنگاری وجود دارن که طبیعتا از نظر تئوریک میشه همراه کیوت استفاده کرد، ولی در عمل من کلی سر و کله زدم و باید بگم شانس هم آوردم که موفق شدم یکی از این کتابخانه ها (Crypto++) رو با موفقیت توسط MinGW کامپایل کنم تا بتونم روی ویندوز و با کیوت نسخهء بازمتن ترکیبش کنم. اگر نمیشد احتمالا باید میرفتم سراغ اینکه کیوت رو با ویژوال سی++ میکروسافت کامپایل کنم که معلوم نبود چقدر دردسر بشه برام.

----------


## armanmaz1373

اگر شما کاربر لینوکس هستید و با توجه به در هدف شما از یادگیری این زبان ها به نظر من اول به بش و بش اسکریپ مسلط بشید (کلا یه آخر هفته وقت نمی گیره) سپس پایتون رو شروع کنید. 
با توجه این که با مجموعه بی نظیری از کتابخانه ها همراه شده برای همین نیاز شما رو به کد نویسی های طولانی به مقدار زیادی رفع می کنه. برنامه های نوشته شده باهاش بشدت گویا هستند که این مزیت اصلیش نسبت به پرل می شه.
با توجه به آشنایی شما با C و اینکه می تونید کد های C را به طور مستقیم داخلش اضافه کنید تسلط خوبی هم روی سخت افزار پیدا می کنید.
اگه خواستید به سمت طراحی وب اپلیکیشن هم بروید باز هم پایتون به بهترین شکل جوابگوی شماست.




> بعد متوجه شدم یک سری از نرم افزار های لینوکس با qt نوشته شدند.


اگه می خواید به طراحی رابط گرافیکی برای KDE بپردازید Qt را انتخاب کنید و اگر می خواید برای گنوم GUI بسازید GTK+ را انتخاب کنی.

----------


## eshpilen

> می تونید کد های C را به طور مستقیم داخلش اضافه کنید


 مستقیم؟ یعنی چی؟ چطوری؟
تاجاییکه من دیدم پایتون یک کتابخانهء مخصوص اینترفیس کردن با کتابخانه های سی داره، و نه بیشتر.
اینکه میگید مستقیم یجوری بنظر میاد انگار که توی خود پایتون کد سی بنویسیم قاطی کدهای پایتون!! (مثل سی که درش میشه مستقیما اسمبلی هم نوشت)

----------


## armanmaz1373

> مستقیم؟ یعنی چی؟ چطوری؟
> تاجاییکه من دیدم پایتون یک کتابخانهء مخصوص اینترفیس کردن با کتابخانه های سی داره، و نه بیشتر.
> اینکه میگید مستقیم یجوری بنظر میاد انگار که توی خود پایتون کد سی بنویسیم قاطی کدهای پایتون!! (مثل سی که درش میشه مستقیما اسمبلی هم نوشت)


حق با شماست من بد بیان کردم. شاید اگه به لینک زیر سر بزنید بهتر متوجه منظور من بشید.
http://docs.python.org/2/extending/extending.html

باز هم بابت کج تابی به وجود امده عرض می خوام.

----------


## Hamed20

با سلام خدمت تمامی دوستان
یک سوال داشتم از دوستانی که QT رو یاد گرفتن میخواستم ببینم با توجه به این که من سی + + رو تا حد نسبتا خوبی یاد دارم و vb.net رو خوب بلدم و حالا میخواستم کیو تی رو شروع کنم به  یادگیری، بنظر شما با توجه به پیش نیاز ها و اطلاعات قبلی که دارم چه مدت زمان میبره تا یاد بگیرم؟

متشکرم

----------

