# زبان های اسکریپتی > Python >  پایتون GUI - برنامه نویسی کاربر پسند به زبان پایتون

## RezaN0

سلام دوستان 

دوستداران پایتون و برنامه نویس من یه سوال داشتم راجع به پایتون 

من تقریبا با تمام کد های اولیه و ساده پایتون آشنایی دارم 
میتونم راحت یه ماشین حساب بسازم 

سوال من از شما اینه که چطور یه ماشین حساب با شکل و قیافه بسازم ؟؟ GUI 

من لپتاپم مک هست ؛ و Qt Creator هم نصب کردم ... ولی نمیتونم برنامه رو بسازم (ظاهرش رو میسازم ولی نمیدونم چجور به دکمه ها دستورات رو بدم ) 

بخدا هیچ آموزش درست حسابی در این مورد پیدا نکردم !! 
حتی وقتی حرف از ظاهر برنامه به زبون میاد ؛ میبینم که توی فیلم های آموزشی که ظاهر برنامه پایتون هم در حالت کامندلاین میسازند !!! 

من خیلی از پایتون خوشم میاد !! ولی با این همه سحتی و دردسر ؛ دلم واسه همون ویژوال استودیو دوران دبیرستان تنگ شده !!

----------


## plague

pluralsight فیلم آموزشی داره 
همین 4 تا تاپیک پایین تر ینفر پرسیده لینکش هست

----------


## RezaN0

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

طراحی ظاهری رو به صورت کدنویسی انجام میدهند
من دنبال طراحی ظاهری با استفاده از دراگ و دراپ هستم ( مثل ویژوال بیسیک) و راحت کد های هر شئ را با دابل کلیک درون خودش بنویسم

----------


## plague

من شخصا فیلم ذکر شده رو دیدم و یه اپلیکیشن کامل رو میسازه توش
توجه کنید پایتون یه زبان متن باز هستش و کمپانی مثل ماکروسافت پشتش نیست که براش از اون IDE ها بسازه !
 اگه وجود داشت شما به جای QT اسم اون به گوشتون خورده بود تا حالا
 حتی جاوا که پراستفاده ترین زبان جهانه هم همچین چیزی نداره 

کلا زبان های اوپن سورس یه شرایط خاصی دارن که عادت کردن بهش یکم طول میکشه 
زبان اپن سورس پدرش همون اول نوجوانی میندازتش از خونه بیرون میگه برو دنباله کار خودت همین که تا همینجا بزرگت کردم خیلیه !
اونای دیگه مثل یه بچه پولداری هستن که تو خونه باباشون میخورن و میخابین و پدره لوسشون میکنه و براشون خونه و ماشین میخره و میزارتشون سر کار ! 


توی اپن سورس حتی خیلی پکیج هایی که حیاتی هستن بعضا رو کاربرای عادی که ربطی به تولید کننده زبان ندارن مینویسن و ناشر زبان کاری به اونجا نداره و براش مهم نیست

----------


## IMAN4k

برای شروع بد نیست :
https://pythonschool.net/category/pyqt.html

----------


## RezaN0

دوست عزیز  plague همه حرف های شما درست و زیبا بود

واقعا همینطوره که میگید ؛؛ من خودم هم این چیزا رو متوجه هستم

ولی ایکه چرا دنبال چنین چیزی میگشتم به خاطر شغلی که دارم هست و معمولا "تکرار کارها"؛ی زیادی داره ( یه سری کارهایی که در روز باید همیشه انجام بشن و من میخواستم برنامه بسازم تا اتوماتیک بشه انجام دادنشون)

من از فرمایش دوست عزیز هم استفاده کردم  (IMAN4K) و با PyQt  آشنا شدم  ؛  اون هم همینطور باید دستی ظاهر ساخت ولی راحتتر و زیباتره

ممنون از پاسخ دوستان

----------


## SZsXsZS

> من شخصا فیلم ذکر شده رو دیدم و یه اپلیکیشن کامل رو میسازه توش
> توجه کنید پایتون یه زبان متن باز هستش و کمپانی مثل ماکروسافت پشتش نیست که براش از اون IDE ها بسازه !
>  اگه وجود داشت شما به جای QT اسم اون به گوشتون خورده بود تا حالا
>  حتی جاوا که پراستفاده ترین زبان جهانه هم همچین چیزی نداره 
> 
> کلا زبان های اوپن سورس یه شرایط خاصی دارن که عادت کردن بهش یکم طول میکشه 
> زبان اپن سورس پدرش همون اول نوجوانی میندازتش از خونه بیرون میگه برو دنباله کار خودت همین که تا همینجا بزرگت کردم خیلیه !
> اونای دیگه مثل یه بچه پولداری هستن که تو خونه باباشون میخورن و میخابین و پدره لوسشون میکنه و براشون خونه و ماشین میخره و میزارتشون سر کار ! 
> 
> ...


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

----------


## pc_programmer

با سلام خدمت دوستان عزیز. 

متاسفانه یا خوشبختانه به دلیل اینکه ویژوال استودیو همه چیز رو درگ ان دراپ کرده کلا دید ما ایرانی ها نسبت به برنامه نویسی عوض شده مخصوصا GUI Programming.
من خودم تلاش کردم که یک برنامه مدیریتی برای فروشگاهمون با پایتون و tkinter بنویسیم اما ویجیت های (همون دکمه و بآتون و ...) تی کی خیلی کم هست و فقط ویجیت های اصلی و مهم در برنامه نویسی GUI رو داره. (دریغ از یک DataGridView) من تقریبا تمام فریم ورک های و ماژول های که برای برنامه نویسی گرافیکی در پایتون توسعه داده شده بودن رو تحقیق کردم و همین طور دنبال IDE مثل ویژوال استودیو بودم که کار طراحی رو ساده تر بکنه اما همچین چیزی در دنیای اوپن سورس وجود نداره و نمیتونه وجود هم داشته باشه چون یک شرکت خاصی پشت تکنولوژی نیست و پشتیبانیش به مراتب مشکل میشه.

تنها چیزی که می تونه جواب سوال شما باشه البته تا جای که من می دونم QT Desginer هستش. 
محبوب ترین فریم ورک پایتون برای GUI Programming هم Tkinter , PyQt هستش. لازمه که شما ابتدا کمی در مورد این فریم ورک ها اطلاعات کسب کنید فیلم های آموزشی نگاه کنید یا کتاب بخونید بعد برید سراغ توسعه برنامه با استفاده از این فیلم ها چون دنیای اوپن سورس مثل ویژوال استودیو نیست.

برای PyQt من فیلم آموزشی زیر رو پیشنهاد می کنم:
Pluralsight Python Desktop Application Development این فیلم آموزشی دو تا سری هست و فکر می کنم کامل ترین فیلم آموزشی در این زمینه باشه مدرس این دوره Bo Milanovich هست که خودش توی یوتیوب ویدئوهای آموزشی با PyQt رو میذاره و تخصصش پایتون و PyQt هست.
برای tkinter  این فیلم آموزشی رو پیشنهاد می کنم Lynda Python GUI Development with Tkinter : برین استون نام مدرس این دوره است و به نظر من جزو بهترین مدرسان لیندا هستش و مدرس محبوبه منه و کارش درسته این مدرس هم برنامه نویس پایتون هست. 

برای Qt Desinger  یکم سرچ بزنید از خود آموزهای اینترنتی استفاده کنید کیو تی قابلیت درگ اند دراپ داره ولی متفاوت از ویژوال استودیو هست. مطمئنا باشید با فریم ورک ها و ماژول های پایتون هر برنامه گرافیکی حرفه ای که دوست داشتید می تونید بسازید. (Qt Designer به این شکل عمل می کنه که یک فایل xml برای ظاهر برنامه می سازه بعد شما اون فایل xml رو بر می دارید و کدهای پایتو رو داخل اون می نویسید نمی خوام وارد جزئیات فنی بشم ولی استفاده از Qt Designer  مراحل طراحی ظاهر برنامه رو ساده تر میکنه اما خوب برای برنامه نویس مبتدی ممکنه باز یکم پیچیده به نظر بیاد.) 

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

----------


## barnamenevisforme

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


اگر هدف از استفاده پایتون توسعه یک برنامه بر پایه زبان های متن باز باشه, تحمل همه این سختی ها ارزشمند هست.
من هم چند سالی بود که به محیط net. عادت کرده بودم اما به دلایلی خودم رو ملزم کردم که از این به بعد بر پایه متن باز کار کنم و تا الان سختی های زیادی رو تحمل کردم.

----------


## pc_programmer

> اگر هدف از استفاده پایتون توسعه یک برنامه بر پایه زبان های متن باز باشه, تحمل همه این سختی ها ارزشمند هست.
> من هم چند سالی بود که به محیط net. عادت کرده بودم اما به دلایلی خودم رو ملزم کردم که از این به بعد بر پایه متن باز کار کنم و تا الان سختی های زیادی رو تحمل کردم.


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

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

----------


## khosroanjam

چرا تحت وب UI و نمی سازی خیلی دستت باز تره خیلی هم بهتره (البته از نظر خودم) ؟

----------


## khosroanjam

چرا تحت وب UI و نمی سازی خیلی دستت باز تره خیلی هم بهتره (البته از نظر خودم) ؟

----------


## IamOverlord

کلی gui designer برای پایتون هست.. این لینک رو ببینید تا با چند تاشون آشنا شید..:
https://askubuntu.com/questions/5622...r-python/56244

----------

