به نام خدا
انجمن موج نور اصفهان در حال آمادهسازی کتاب خودآموز wxPython برای نابینایان جلد اول میباشد. wxPython یکی از پکیجهای ارائهشده برای زبان برنامهنویسی Python است که به کاربر امکان ایجاد برنامههای گرافیکی را میدهد. در زیر فهرست این کتاب ارائه شدهاست. از کلیه دوستان خواهشمندیم نظرات و پیشنهادات خود را جهت هرچه بهتر شدن این محصول در بخش دیدگاههای همین پست در اختیار ما قرار دهند.
به امید روزهای روشنتر.
فهرست كتاب خودآموز ایجاد برنامههای گرافیکی Python با استفاده از wxPython برای نابینایان جلد اول
مقدمه
فصل۱. معرفی
۱-۱. معرفی WXPython
۱-۲. آشنایی با ماژولهای WXPython
۱-۳. آشنایی با انواع کنترلهای WXPython
۱-۴. وراثت (Inheritance) در WXPython
فصل۲. گام اول
۲-۱. یک مثال ساده
۲-۲. کلاس Wx.Frame
۲-۳. تعیین اندازه (size) پنجره
۲-۴. تعیین محل (position) پنجره
فصل۳. منو و نوار ابزار (Toolbar)
۳-۱. یک منوی ساده
۳-۲. تعیین آیکون و کلید میانبر برای گزینههای منو
۳-۳. ایجاد زیرمنو (Submenu) و درج جداکننده (Separator)
۳-۴. گزینههای منوی چکشونده (Check menu items)
۳-۴-۱. ایجاد گزینههای چکشونده و چککردن آنها
۳-۴-۲. ایجاد نوار وضعیت و نوار ابزار و تعیین کارکرد گزینههای چکشونده
۳-۵. منوی محتوا (Context menu)
۳-۵-۱. ایجاد کلاس مربوط به منوی محتوا
۳-۵-۲. ایجاد کلاس مربوط به پنجره و تعیین منوی محتوا
۳-۶. نوار ابزار (Toolbar)
۳-۶-۱. ایجاد یک نوار ابزار
۳-۶-۲. ایجاد چند نوار ابزار
۳-۶-۳. فعال و غیرفعال کردن گزینهها و افزودن خط جداکننده در نوار ابزار
فصل۴. مدیریت چینش (Layout)
۴-۱. دو روش مشخصکردن محل کنترلها در wxPython
۴-۲. BoxSizer
۴-۳. مثال GoToClass
۴-۳-۱. ایجاد پنجره، افزودن پنل و دریافت فونت پیشفرض سیستمعامل
۴-۳-۲. ایجاد کادر ویرایش Class name و برچسب مربوط به آن
۴-۳-۳. ایجاد کادر ویرایش چندخطی Matching classes و برچسب مربوط به آن
۴-۳-۴. ایجاد سه چکباکس و دو دکمه برنامه
۴-۴. GridSizer
۴-۴-۱. ایجاد پنجره، پنل و افزودن کادر ویرایش نتیجه
۴-۴-۲. افزودن کلیدهای سطر اول صفحه ماشینحساب
۴-۴-۳. افزودن کلیدهای دیگر صفحه ماشینحساب
۴-۵. FlexGridSizer
۴-۵-۱. ایجاد پنجره، پنل، سایزرها و اولین کادر ویرایش
۴-۵-۲. ایجاد دو کادر ویرایش بعدی و انعطافپذیر کردن سطر سوم و ستون دوم
۴-۶. GridBagSizer
۴-۷. مثال کلاس جدید
۴-۷-۱. قسمت اول
۴-۷-۲. قسمت دوم
فصل۵. رویدادها (Events) در wxPython
۵-۱. مقدمه
۵-۲. اتصال رویداد (Event binding)
۵-۳. توقف پردازش رویدادها (Vetoing events)
۵-۴. انتشار رویدادها (Event propagation)
۵-۵. شناسههای پنجره (Window identifiers)
۵-۵-۱. تعیین شناسه به صورت خودکار
۵-۵-۲. استفاده از شناسههای استاندارد wxPython
۵-۵-۳. استفاده از شناسه سفارشی
۵-۶. رویداد مربوط به تغییر در پنجره
۵-۷. رویدادهای مربوط به Focus
۵-۸. رویدادهای مربوط به صفحهکلید
فصل۶. کادر محاورهای (Dialogue box) در wxPython
۶-۱. یک جعبه پیام (Message box) ساده
۶-۲. کادر محاورهای پیام (Message dialogues)
۶-۳. کادر محاورهای درباره برنامه (About)
۶-۴. ایجاد یک کادر محاورهای سفارشی
- نصب پکیج WXPython
واژه نامه
سلام.
از مطالب و آموزشهای ارزشمندتون تشکر میکنم، من که برنامه نویسی بلد نیستم بتونم سؤالی بگم یا مطلبی بپرسم.
فقط برای آشنایی، python 3.3.4 رو دانلود و نصب کردم، یکیش که کلا cmd و terminal بود.
قسمت دومش هم
IDLE (Python 3.4 GUI – 32 bit)
که اونم بازش کردم گفت shell و کلا انگاری محیط گرافیکی و خارج از شِل و ترمینال نداره.
دوستم کلاسهای شما رو شرکت کرد و گفت چنین مشکلی نداشت.
ولی من از سایت اصلیش گرفتم و جزو آخرین ورژنهایی بود که با ویندوزم سازگاره.
در پست قبلیتون برای گوگل درایو هم کامنت گذاشتم ممنون میشم جواب بدین.
اجرتون با خدا و اهل بیت.
با درود
IDLE برای نوشتن برنامههای پایتون ارائهشده است ولی متاسفانه برای نابینایان دسترسپذیر نیست. افراد نابینا میتوانند از ویرایشگرهای دیگری مثل EdSharp یا VS Code یا Notepad++ استفادهکنند.
برنامهای که cmd است محیط interactive پایتون است که برای تست کد مورد استفادهقرارمیگیرد.
شادکام باشید.
سلام بسیار عالی هستش. به نظرم اگر بتونید تا مرحله کامل برنامه نویسی گرافیکی را در یه جلد ارائه بدید خیلی عالی میشه. بازم ممنون
با درود
ضمن سپاس از لطف شما، متاسفانه مطالب بیشتر از آن است که بتوان همه را در یک جلد کتاب جای داد. این کتاب احتمالا دو جلد خواهدداشت.
سربلند باشید.
سلام خیلی خوب هست. انتشار این مجموعه ها قطعاً به رشد نابینایان کمک میکنه.
با درود.
سپاس فراوان از دیدگاه شما. شادکام باشید.
فقط یه سؤال, آیا کتابچه ای برای برنامه نویسی اندروید هم دارید؟
درود مجدد. خیر. در حال حاضر چنین کتابچهای موجود نیست. سربلند باشید.
بسیار عالی. بعد از کتاب خودآموز خود پایتون، این کتاب و جلد دومش در تکمیل پروژه ضروری به نظر می رسه. همین فرمون برین جلو. تا های.
درود.
سپاس فراوان از دیدگاه شما. امید که مورد استفاده دوستان قرارگیرد. شاد باشید.
درود.
دقیقا همینه، همینو برین جلو منم هستم، من واقعا حوصله ی خوندن کتاب های متنی رو برای یادگیری برنامه نویسی ندارم، وقتیم به هر دلیلی مجبور میشم خیلی اذیت میشم، کلا نمیدونم چرا با صوتی خیلی بیشتر حال میکنم.
واقعا این چیزیه که کسایی که مثل من دارن رو فیلد برنامه نویسی کار میکنن از شما میخوان، که وقتی استارت یه زبون رو میزنین تا آخرش برین جلو و مثل استادای دانشگاه بچه ها رو اذیت نکنین و تهشم اگر کسی چیزی گفت مثل همون استادا بگین ما بهتون سر نخ میدیم بقیش با خودتون، که البته اینم خودش از طرف دانشجو جواب داره، که استاد مثلا محترم، ما سرنخ نمیخوایم، لازم نیست شما سر نخ بدید، خودمون اونقدر هستیم که سر نخ رو پیدا کنیم، شما اگه واقعا چیزی بلدی به دانشجوت یاد بده و بهونه نیار.
ببخشید دیگه، گلایه از اساتید هم موند پیش شما.
کلا خواستم بگم اینجوری برین جلو ما هم پا به پاتون میایم، اینجوری خیلی عالیه،.
مرسی ازتون.
برای پروژه ی کاردانیم هم یه دانلود منیجر با wxpython نوشتم که خدا رو شکر باگه باحالی هم داشت، خخخخ.
مرسی که هستین.
با درود.
سپاس از استقبال شما. امیدواریم این کتاب انتظارات شما را برآوردهکند. تلاشمیکنیم پایتون را تا جایی که ممکن است پیش ببریم.
شادکام باشید.
عالیه. همینه. لطفا سری کتاب های برنامه نویسی ادامه دار درست کنید به همین زودیها نرید if و for و loop رو توی یه زبون دیگه به بچه ها یاد بدید همین مجموعه رو کامل کنید بعدش میتونید برید سراغ وب یا اندروید یا شاید هم هوش مصنوعی! در ضمن اصول طراحی صفحات وب رو هم برای نابینایان بگید یه نابینا نمیدونه که صفحات تو دسکتاپ و وب چجوری باید طراحی بشن چقدر اجزای صفحه باید فاصله داشته باشند اگه فارسی شد یا انگلیسی اجزا جاشون و چینششون چه تغییری باید بکنه در مورد فرق بین کادرهایی که عدد میگیرن و کادرهای نوشتاری فارسی یا انگلیسی چه چینشی رو باید به کار ببره چجوری مهمترین اجزا جایی قرار بگیرن که توجه مخاطب رو جلب کنن اگه ارور داد چجوری نشون داده بشه که کدوم کادر یا مقدار مشکل داره البته حتما قصد شما درست کردن یه UI designer از بچه های نابینا نیست ولی اصول UX و UI خیلی مهمه حد اقل اگه یه صفحه ای مجبور شدن طراحی کنن ساده ولی متوازن باشه فقط این مهم نیست که چه کلاسی چی کار میکنه و چه متودها یا فانکشن هایی داره.
با درود
سپاس از نظر سازنده شما. در این کتاب و جلد بعدی آن تلاششده تا جای ممکن این اطلاعات به کاربران دادهشود. هرچند توضیح این مفاهیم به شکلی که فرد نابینا آن را درککند کار سادهای نیست.
شاد باشید.
و یک پیشنهاد هم داشتم اگر بجای ترجمه و تفسیر یک کتاب برنامه نویسی انگلیسی این دوره ها رو یک برنامه نویس با سابقه که واقعا شغل ایشان برنامه نویسی میباشد تدریس میکردند میتوانست خیلی مفیدتر باشد راستش من نمیدانم که آقای رضایی بزرگوار به عنوان برنامه نویس مشغولند یا نه ولی به گفته ی خودتان این آموزشها ترجمه ای از یک کتاب انگلیسی میباشد و من نظراتم را فقط بر اساس نگاهی به کتاب پایتون جلد اول عرض میکنم مثلا نگاهی کوتاه به inheritance و encapsulation شده بود ولی اصلا مفاهیم و مثال های آن به خوبی توضیح داده نشده بود کلا OOP که یکی از اصول برنامه نویسی امروز است مورد توجه قرار نگرفته بود و کلا فرق بین زبانهای static و dynamic type گفته نشده بود که این موارد در پروژه های واقعی میتواند چالش های زیادی ایجاد کند در حالی که میتوان از برنامه نویسان با تجربه ی بینا و نابینا کمک گرفت و آموزش های دسترسپذیر و با محتوای غنیتری تولید کرد. پاینده باشید.
با درود مجدد.
ما معمولا تلاش میکنیم توضیحاتی که لازم است را به ترجمه اضافهکنیم و کارشناسان بینا هم بر روی کتاب نظارت دارند. ما اصولا از کتاب انگلیسی به عنوان یک خط مشی استفادهمیکنیم. به هر حال نظر شما به مدیران انجمن منتقل خواهدشد.
موفق باشید.