برنامه نویسی GUI
بهترین رابط گرافیکی پایتون : مقایسه ۶ ماژول GUI در python سبز دانش
Libavg از اکثر درایورهای متداول لمسی پشتیبانی میکند و طیف وسیعی از ویژگیها مانند پشتیبانی از دوربین، ترازکردن متن، پشتیبانی از انیمیشن، جلوههای GPU مانند تاری، سایهها و موارد دیگر را ارائه میدهد. برای نصب این فریمورک میتوانید از دستور pip install PyQt5 استفاده کنید. لذت یادگیری با تماشای دوره های آموزش آنلاین در هر زمان و هر مکان دو چندان می شود. ماموریت ما در داناپ برقراری عدالت آموزشی در کشور و کمک به جوانان برای اشتغال بیشتر بوده است. داناپ از سال 1396 تا به امروز سهم بزرگی در حوزه آموزش در کشور داشته و رضایت دانشجویان را از ابتدا ملاک کار خود قرار داده است.
پایتون زمانی که با Tkinter ترکیب میشود راهی سریع و آسان برای ایجاد برنامههای رابط کاربری گرافیکی فراهم میکند. Tkinter یک رابط شی گرا قدرتمند برای جعبه ابزار Tk GUI فراهم می کند. WxPython در اصل یک ماژول افزودنی پایتون است که به عنوان یک بسته برای API wxWidgets عمل میکند. WxPython به توسعهدهندگان پایتون اجازه میدهد تا رابطهای کاربری بومی ایجاد کنند که هیچ سرباری به برنامه اضافه نمیکند. قابلیت کراس پلتفرمی wxPython امکان استقرار در سیستمعاملهایی مانند Windows ، Mac OS ، Linux و سیستمهای مبتنی بر یونیکس را بدون هیچ تغییری میدهد. رابط کاربری گرافیکی یا GUI، یکی از سه سنگ بنای اصلی هر برنامه است، دو مورد دیگر امنیت و عملکرد هستند.
استفاده از GUI نسبت به رابط کاربری دستوری یا CUI که همان اجرای دستورالعملهای متنی است، بسیار آسانتر است. در رابط کاربری گرافیکی یا همان GUI، کاربران نیازی به حفظ کردن دستورات متنی و نوشتن آنها به عنوان کدهای دستوری نخواهند داشت. سادگی عملکرد، زیبایی و سرعت بالای عملکرد، باعث شد تا این مدل از رابط کاربری، به سرعت در بین کمپانی های ساخت نرم افزار و توسعه دهندگان جا بیافتد. اولین بار در سال ۱۹۸۱ بود که طراحی رابط کاربری در یک نرمافزار انجام شد. در این سال، کمپانی Xerox اولین GUI را در نرمافزاری به نامِ Xerox Star معرفی کرد. اگر چه اصول طراحی GUI در این نرمافزار اصلاً مشابه با رابط کاربری گرافیکی امروزی نبود اما به هر حال اولین قدم برای تبدیل رابط خط فرمانی به گرافیک کامپیوتری محسوب میشود.
پس از یادگیری ساخت بدنه اصلی رابط گرافیکی، کار با برچسب، متن، دکمه، checkButton ،Radiobutton ،canvas و سایر ابزارهای لازم به شما آموزش داده میشود. استفاده از این ابزارها بسیار آسان بوده و سینتکس آن بهراحتی قابل یادگیری است. مرز بین IDE و سایر قسمتهای وسیعتر از توسعهٔ نرمافزار کاملاً مشخص نیست. گاهی یک سیستم کنترل نسخه یا ابزارهای مختلف برای سادهسازی یک رابط کاربری گرافیکی (GUI) یکپارچه شده است. بسیاری از IDEهای مدرن همچنین دارای یک مرورگر کلاس، یک مرورگر شیء و یک نمودار سلسله مراتبی کلاس برای استفاده در توسعهٔ نرمافزار شیگرا هستند. زبان برنامهنویسی روبی یکی از زبانهای محبوب و قدرتمند در دنیای برنامهنویسی است که بهدلیل سینتکس ساده و خوانایی بالا، هم برای مبتدیان و هم برای توسعهدهندگان حرفهای جذاب است.
GUI یا رابط کاربری گرافیکی همان چیزی است که کاربر میبیند و در زمان نیاز به برنامهی شما با آن تعامل میکند. داشتن یک GUI خوب میتواند تاثیر بهسزایی در تجربهی کاربری داشته باشد و درنهایت باعث رشد برند شما خواهد شد. بههمین منظور در این مقاله چندین کتابخانه و ابزار معروف که برای توسعهی برنامههای GUI در زبان Python استفاده میشوند را به شما معرفی خواهیم کرد. اولین بار رابط گرافیکی در Xerox PARC در سال 1981 و توسط اشخاص آلن کی و داگلاس Engelbart و سایر محققها به وجود آمد. اولین بار از رابط گرافیکی به صورت تجاری در سال 1983 و کامپیوتر Apple Lisa استفاده شد. قبلها در کامپیوترهایی یا سیستم عاملهای مثل MS-DOS و Linux از رابط خط فرمان استفاده شده بود.
قبل از شکل گیری ویندوز تمامی دستورات توسط کاربر از طریق محیطی به اسم MS-DOS به کامپیوتر منتقل می شد که کاری بسیار دشوار بود و مردم عادی نمی توانستند به راحتی آن را یاد بگیرند. اما بعد از پیدایش ویندوز و رابط کاربری گرافیکی به کمک موس و کیبورد خیلی راحت می توان بر روی المان های مختلف کلیک کرد و از این طریق دستورات مختلف را به کامپیوتر منتقل کرد. GUI یا رابط کاربری گرافیکی، به واسطی گفته میشود که از عناصر بصری برای تعامل با کاربر استفاده میکند اما رابط کاربری متنی (CLI) از دستورات متنی برای این منظور بهره میبرد. رابط کاربری کاراکتری از اتوماسیون و اسکریپتینگ پشتیبانی میکند و کنترل دقیق تر و کارایی بالاتری نسبت به GUI دارد. اولین روش مورد استفاده در کامپیوترهای دهه 1980، رابط کاربری کاراکتری بود. ولی ابزارهای الکترونیک مدرن مجهز به رابطهای کاربری گرافیکی هستند.
پروژه Python GUI که معمولاً فریمورک PyGUI شناخته میشود، یک API ساده است که توسعهدهندگان را قادر میسازد با استفاده از عناصر بومی برای برنامههای پایتون رابط کاربری ایجاد کنند. فریمورک PyGUI که یک API نسبتاً سبک است، کد اضافی بسیار کمی بین برنامه پایتون و پلتفرم هدف اضافه میکند. PyGUI در حال حاضر از ایجاد برنامههای کاربردی برای سیستمهای مبتنی بر یونیکس، Windows و سیستمعامل Mac پشتیبانی میکند. در مورد ایجاد GUIها، PyQt5 ابزارهای چشمگیر QtGui و ماژول QtDesigner را ارائه میدهد، که ویجتهای بصری متعددی را داراست و توسعهدهنده میتواند با کشیدن و رهاکردن (drag and drop) ساده آنها را پیاده کند. البته، امکان ایجاد این ویجتها توسط کد نیز وجود دارد، همچنین به شما این امکان را میدهد که برنامههای کاربردی کوچک و بزرگ را با سهولت ایجاد کنید.
در فولدر “Forms” فایل های با پسوند “.ui” قرار دارد که همان فایل های گرافیکی برنامه هستند. این فولدر در صورتی که موقع ایجاد پروژه تیک Forms را زده باشید، ایجاد می شود. برای ایجاد پروژه مانند جلسه سوم گزینه “New Project” را انتخاب کنید. در پنجره باز شده، از سربرگ “Projects” گزینه “Application” را انتخاب نمائید. سپس روی “Qt Widgets Application” کلیک کرده و “choose” را انتخاب کنید.
این کتابخانه را میتوان بر روی انواع مختلفی از سیستمعاملها اجرا کرد، از جمله Windows، mac OS، و Linux. این امکان به برنامهنویسان اجازه میدهد تا برنامههای خود را به سرعت برای چندین پلتفرم ارائه دهند و بدون نگرانی از سازگاری و عملکرد آنها استفاده کنند. پشتیبانی از زبانهای جایگزین اغلب توسط افزونهها ارائه میشود و به آنها امکان میدهد همزمان در همان IDE نصب شوند. به عنوان مثال، Flycheck یک برنامه مدرن چک کردن نحو در پرواز برای GNU Emacs 24 با پشتیبانی از ۳۹ زبان است. اکلیپس و Netbeans دارای افزونههایی برای سی / سی پلاسپلاس، Ada ,GNAT (به عنوان مثال AdaGIDE)، پرل، پایتون، روبی و پیاچپی هستند که براساس برنامههای افزودنی فایل، محیط یا تنظیمات پروژه بین اتوماتیک انتخاب میشوند. این رابط با سیستم Lego Mindstorms رواج یافته است و توسط تعدادی از شرکتها که مایل به سرمایهگذاری بر روی مرورگرهای سفارشی مانند آنچه در موزیلا است، فعالانه مورد سوء استفاده قرار میگیرد.
ماژولار بودن پایتون در قالب برنامههای افزودنی به PyQt5 میرسد و ویژگیهای بسیار زیادی از ساختار GUI را به توسعهدهنده میدهد. برای ایجاد رابطه بین کاربر و کامپیوتر، از GUI یا رابط کاربری گرافیکی استفاده میشود. GUI خلاصه شده عبارت Graphical User Interface به معنی رابط کاربری گرافیکی است. GUI متشکل از ابزارهای گرافیکی مختلف همانند نوشتهها، دکمهها، فونت ها، آیکونها و بسیاری موارد دیگر است. Tkinter در پایتون به ایجاد برنامههای رابط کاربری گرافیکی با حداقل دردسر کمک میکند.
سرویس قوی و پایدار که برای نصب و راهاندازی سیستم مدیریت محتوای وردپرس بهینه شده است. از جمله معروفترین این فریمورک و کتابخانهها برای سمت فرانتاند، میتوان به React، Jquery، Angular و Vue اشاره کرد. در حال حاضر امکان ارسال دروس به صورت سی دی یا دی وی دی وجود ندارد. علی بیگدلی فارغالتحصیل مهندسی فناوری اطلاعات و دانشآموختهی رشته هوش مصنوعی و رباتیک است. علاقه ایشان به دنیای هوش مصنوعی و ارتباطات دنیای IOT باعث شد که به روند تلفیق این دو بستر بپردازد. استاد تدریس کننده این دوره فردی با تجربه ، کاملا مسلط ، بانمونه کارهای فراوان مرتبط در حوزه تدریس و بیان عالی هستند.
البته PyQt فراتر از یک ابزار برای توسعهی برنامههای گرافیکی است و امکانات بسیار زیادی را در اختیار شما قرار میدهد. در زبان برنامه نویسی جاوا به منظور طراحی GUI می بایست از API های مخصوص این کار استفاده نمود. در واقع کلاس هایی که تحت عنوان Abstract Window Toolkit یا به صورت خلاصه AWT شناخته می شوند به راحتی این امکان را به برنامه نویس می دهند تا بتواند محیطی گرافیکی برای برنامه خود ایجاد کند. ایده پشت wax این است که با حذف جنبههای سطح پایین wxPython به توسعهدهندگان برنامه، دسترسی سادهتری به عناصر و اشیاء پایتون برای ایجاد GUI ارائه دهد. از آنجا که پلتفرم اصلی wxWindows بسیار کارآمد است، فریمورک wax از همان میزان کارایی و سرعت برخوردار است که از ویجتهای بومی ارائه شده توسط این پلتفرم استفاده میکند.
کدها را تایپ کرده و اجرا کنید (به منظور یادگیری بهتر از کپی کردن خودداری کنید). PySimpleGUI 4 مورد از فریمورکهای رایج GUI پایتون را که شامل Qt ، Tkinter ، WxPython و Remi است، در اختیار میگیرد و با اجرای کد، مشکلات آنها را چند درجه کاهش میدهد. طبق ادعای چند سایت مختلف، زمان اجرای فعالیتهای گرافیکی در محیطهای لمسی با Libavg بسیار مناسب و سریع است. اگر میخواهید GUI پایتون را روی دستگاههای لمسی (تاچ) اجرا کنید، پیشنهاد میکنم این فریمورک را نیز دقیقتر بررسی کنید. به کمک پکیجها میتوانید کدهایتان را ساماندهی کرده و یک بستهٔ اختصاصی برای خودتان ایجاد کنید. اگر با این مفهوم آشنا نیستید، جلسه پکیج در پایتون از دوره رایگان را ببینید.
در کد بالا، بوسیله کلاس iconbitmap در داخل پرانتز، مسیر آیکون موردنظر را تایپ کرده و آیکون را تنظیم کرده ایم (اگر کار با فایل ها را در پایتون بلد باشید، می توانید مسیر آیکون را تایپ کنید). جنبههای گرافیکی زیادی مانند رمزگشایی ویدئو، جلوههای بصری و ترکیببندی، همه با شتاب سختافزاری از طریق Shaders OpenGL و GPU انجام میشود تا تصاویری صاف و غنی از گرافیک ارائه دهد. در این مرحله، عملکردی تعریف میکنیم که وقتی کاربر روی دکمه کلیک میکند، متن برچسب تغییر کند. این گزینه یک ماژول افزونه برای پایتون است که بهنوعی یک پوشش متن باز روی wxWidgets API (در زبان c++) است. از این ماژول برای تولید GUI در ویندوز، مک و یونیکس میتوان استفاده کرد.
IDEهای پیشرفته پشتیبانی از پالایشگاههای خودکار را پشتیبانی میکنند. ما در تک دیک تلاش می کنیم محتوایی دقیق، واضح و بدون اشتباه منتشر کنیم. اگر احساس میکنید محتوای این صفحه باید بروزرسانی، تکمیل یا تصحیح شود و یا سوالی در مورد این مطلب دارید که بدون پاسخ مانده خوشحال میشویم آن را در بخش دیدگاههای همین مطلب با ما در میان بگذارید. برای معرفی سیگنال و اسلات، از نوار ابزار گزینه “Edit Signals/Slots” را انتخاب کنید. با دو بار کلیک داخل “push button” می توانید نام آن را تغییر دهید (این نام می تواند فارسی هم باشد).
توسعهدهنده آن پروژه Phoenix را به عنوان جانشین wxPython با پشتیبانی از Python 3 منتشر کرد. این برنامه برای اجرای تمیز پایتون از جعبهابزار wxWidgets ساخته شده است. اگر علاقه دارید این فریمورک را امتحان کنید، با فرمان “ pip install wxPython ” میتوانید آنرا نصب کنید. تمرکز بر تکمیل رابط کاربری خوب است اما به همان اندازه، مهم این است که بهترین تجربه ممکن را برای کاربر ارائه دهیم. برخی از محبوبترین فریمورکهای GUI پایتون را جمعآوری کردهایم که لیست آن در پایین آورده شده است. همانطور که از نامش پیداست، PySimpleGUI برای طراحی ساده رابط گرافیکی در پایتون ارائه شده است.
در اینجا می توانید اشیاء مختلفی که نرم افزار کیوت در اختیار ما قرار می دهد، در ستون سمت چپ مشاهده کنید. برای نصب این کتابخانه میتوانید دستور pip install PyForms را اجرا کرده و برای اطلاعات بیشتر میتوانید مستندات رسمی این فریمورک را مطالعه کنید. ما در سکانآکادمی معتقدیم همهی انسانها حق دارند، به آموزش باکیفیت و کمهزینه دسترسی آسان داشته باشند و همهی افراد میتوانند با آموزش درست، زندگی فردی و اجتماعی خود را بهتر کنند. با توجه به تخصص تیم ما در حوزهی IT و نیاز روزافزون بازار کار به متخصصان این حوزه، تولید و عرضهی محتوای مهارت محور و تخصصی را در حوزهی IT جدیتر دنبال کردیم. در این راه از ابتدای انتخاب مسیر متناسب با توانایی و امکانات دانشجو تا یادگیری، تمرین، کسب مهارت تخصصی و عمومی، و در نهایت معرفی به بازار کار همراه او هستیم...
سالهای سال است که نویسندگان این مجموعه با ارائهی اندوختهها و تجربیات خود در حوزههای برنامهنویسی، طراحی وب و هوش مصنوعی که دانش آموخته و فعال این حوزه هستند در کنار شما هستند. فریمورک GUI متنباز Libavg با زبان ++C توسط Ulrich Von Zadow نوشته شده است. به عنوان یکی از بهترین فریمورکها برای توسعه رابطهای کاربری برای دستگاههای لمسی عمل میکند. Tkinter یکی از کتابخانههای استاندارد پایتون است که برای ساخت واسط کاربری (GUI) استفاده میشود. با استفاده از این کتابخانه، میتوانید برنامههایی با پنجرههای گرافیکی، دکمهها، متون و دیگر اجزای رابط کاربری ایجاد کنید. اما GUI همان رابط گرافیک کامپیوتری است و از همین تعریف یک جملهای میتوان تشخیص داد که GUI در واقع زیرمجموعهی UI است.
این چارچوب برای مبتدیان و کسانی که میخواهند یک محیط گرافیکی نسبتاً ساده ایجاد کنند عالی است. در تعاریف فریمورک Kivy به کلمه NUI یا رابط کاربری طبیعی برمیخورید. این اصطلاح برای رابطهایی استفاده میشود که نیاز به آموزش ندارند! با اینکه رابط کاربری دستگاههای لمسی بعضاً پیچیده هستند، اما بدون آموزشِ خاصی، میتوانیم دکمههای مختلف درون نرمافزار را کشف و یاد بگیریم. در این بخش فریمورکهای محبوب برای طراحی محیط گرافیکی در پایتون را معرفی و بررسی میکنیم.
بیش از 5 سال سابقه برنامهنویسی و توانایی وی در حوزه شبکه و ارتباطات روند کار را برایش تسهیل کرد به شکلی که امروز بهعنوان مدیر بخش تحقیق و توسعه در پروژهها نقش کلیدی ایفا میکند. زبانهای پایتون، C++/C و Arduino و کار با فریمورک های استک پایتون همچون Django و Fastapi از تخصصهای وی در برنامهنویسی به شمار میآید. از آنجایی که کتابخانه Tkinter در پایتون با محدودیتهایی روبهرو است، نمیتوانید از آن استفاده گستردهای در انجام پروژههایتان داشته باشید. اما اگر قصد شروع طراحی اپلیکیشن و نرمافزار دارید، آموزش رایگان Tkinter پایتون میتواند نقطه شروع بسیار خوبی برایتان باشد. همچنین، شما خواهید آموخت که چگونه تعاملات کاربری با برنامه (مانند رویدادهای کلیک، ورود داده و ...) را مدیریت کنید و ظاهر اپلیکیشن را به شکل دلخواه خود سفارشی کنید. این دوره مناسب برای مبتدیان است و به شما کمک خواهد کرد تا اولین اپلیکیشنهای گرافیکی خود را بسازید و آماده ورود به پروژههای پیچیدهتر شوید.
یک فریمورک GUI متن باز (Open Source) برای ایجاد برخی از بصریترین رابطهای کاربری است و شامل برنامههای چند لمسی است که از رابط کاربری طبیعی(NUI) استفاده میکند. WxPython رابطهای کاربری بومی ایجاد میکند که طبق ادعای خودشان سربار (overhead) اضافی روی برنامه ایجاد نمیکند. شما بهراحتی میتوانید هر تابع پایتون که میخواهید را از درون محیط گرافیکی اجرا کنید. Tkinter ترکیبی از فریمورکهای رابط کاربری گرافیکی استاندارد است که تمام عناصر اصلی برای ایجاد یک GUI قوی را در اختیار ما میگذارد. اگر در نصب پایتون از آخرین نسخه استفاده کرده باشید، احتمال زیاد همراه با پایتون برای شما نصب شده باشید. اگر برنامهای که در حال توسعه آن هستید قرار است با کاربر نهایی (یا یک نفر غیر برنامهنویس) در ارتباط باشد، داشتن ظاهر خوب یا محیط و رابط گرافیکی ساده و زیبا میتواند کمک زیادی به موفقیت برنامهتان کند.
در این دوره، مفاهیم پایه Tkinter شامل طراحی پنجرهها، قرار دادن ویجتها (مانند دکمهها، برچسبها، ورودیها، و ...) و نحوه استفاده از ویژگیهای مختلف این کتابخانه به صورت گام به گام آموزش داده میشود. نرم افزار Sketchpad را میتوان اولین برنامه طراحی گرافیکی کامپیوتری دانست. کاربران با کمک یک قلم نوری و این برنامه میتوانستند طراحیهای مهندسی را دستکاری کنند. حالا دیگر سیستم عاملهای مدرن با رابطهای کاربری گرافیکی در ابزارهای کاربردی مثل دستگاههای خودپرداز، دستگاههای سلف سرویس، بازیهای ویدئویی، گوشیهای هوشمند و دسکتاپها به کار میروند. برخی از رابطهای گرافیکی مدرن شامل مایکروسافت ویندوز، macOS، Ubuntu Unity و GNOME برای محیطهای دسکتاپ و اندروید، iOS، BlackBerry OS، ویندوز 10 موبایل، Palm OS-WebOS و Firefox OS برای گوشیهای هوشمند هستند.
علاوه بر این نحوه تعامل کاربر نیز در سیستم عامل های مختلف با برنامه های طراحی شده با کلاس های AWT می توانند تا حدودی متفاوت باشد. برای رفع این مشکل شرکت اوراکل API یی تحت عنوان Swing را به زبان برنامه نویسی جاوا اضافه نمود که در ادامه بیشتر با آن آشنا خواهیم شد. Tkinter یک رابط گرافیکی پایتون است و یکی از پکیجهای استاندارد Python است که برای ایجاد رابطهای گرافیکی ساده استفاده میشود. این پکیج بر پایه کتابخانههای Tcl و Tkinter ساخته شده است و به عنوان یکی از ابزارهای پرکاربرد برای ساخت رابطهای کاربری GUI در Python شناخته میشود. شاید در جهت آموزش GUI در پایتون بتوان Tkinter را بهترین رابط گرافیکی پایتون نیز دانست. Tkinter یکی دیگر از محبوبترین کتابخانههای توسعهی رابط کاربری گرافیکی در زبان Python است که جزو اولین گزینههای مبتدیان برای یادگیری توسعهی GUI محسوب میشود زیرا سینتکس آن برای یادگیری بسیار ساده است.
به خصوص برای مراحل بعدی که بخواهید کدتان را مثلاً با QML ترکیب کنید، کار کردن با کد هم انعطاف بیشتری برای سوئیچ بین محیط های گرافیکی مختلف در اختیار شما قرار می دهد و هم ذهن شما را آماده تر می کند. خط سوم باعث باز ماندن مداوم صفحه گرافیکی می شود و کدهایی را که ما بین خط دوم و سوم قرار دارد، بصورت مداوم اجرا می کند و باعث می شود که بسته نشود (کار همانند حلقه ها). Kivy یک فریمورک متن باز Python است که برای توسعهی سریع برنامههای گرافیکی مورد استفاده قرار میگیرد و این فریمورک قابلیت multi-touch را بههمراه ویجتهای مختلف برای برنامهی شما فراهم میکند. همچنین شما میتوانید Kivy را روی پلتفرمهای مختلفی مانند Windows، Linux، OS X، Android، iOS و Raspberry Pi اجرا کنید. به دلیل این که عناصر به صورت گرافیکی است و نه به صورت متن، این رابط دارای قدرت پردازشی خیلی زیادی نسبت به رابط خط فرمان دارد. به علاوه این که شاید کاربران پیشرفته رابط گرافیکی را رابط خسته کنندهای بدانند.
Tkinter در بین اکثریت توسعهدهندگان پایتون به عنوان جعبه ابزار GUI شناخته میشود، و برای تجهیز توسعهدهندگان با رابط استاندارد به مجموعه ابزار Tk GUI با اتصالات پایتون ایجاد شده است. در دنیای Tkinter، اکثر عناصر بصری که با آنها آشنا هستیم ویجت نامیده میشوند و هر یک از این ویجتها سطح متفاوتی از قابلیت سفارشیسازی را ارائه میدهند. این مثال پایهای برای شروع کار با Tkinter است و میتوانید بر اساس آن برنامههای پیچیدهتر و کاربردیتر ایجاد کنید. استفاده از شیوه های قدیمی مثل ارسال دستورات متنی، خسته کننده، سخت و بسیار پیچیده است. استفاده از ابزارهای بصری، به افزایش ارتباط واقعی میان کاربر و نرم افزار مورد نظر میانجامد. فریمورکها طراحی شدهاند تا دیگر از کدنویسی خام (Pure) یک زبان برای برنامهنویسی استفاده نکنید.
برنامه نویسی صرافی ارز دیجیتال