برنامه نویسی دسکتاپ با پایتون

زبان برنامه نویسی پایتون امروزه یکی از زبان های برنامه نویسی بسیار مطرح و کاربردی بوده و بسیاری از برنامه نویسان در سرتاسر دنیا به نوشتن برنامه با این زبان برنامه نویسی روی آورده اند. در این مقاله قصد داریم به برنامه نویسی دسکتاپ با پایتون آشنا شده و بدانیم که چگونه و با استفاده از چه فریم ورک هایی میتوان شروع به برنامه نویسی ویندوز با پایتون کرد. البته در این مقاله به فریمورک های کراس پلتفرم نیز اشاره می شود که به کمک آن ها میتوانید علاوه بر ساخت نرم افزار برای ویندوز برای دیگر پلتفرم ها نیز برنامه نویسی کنید.فریم ورک PyQtاولین فریمورک ما برای بررسی در این مقاله که برای نوشتن برنامه برای دسکتاپ نیز بسیار قدرتمند است، فریمورک PyQt است. این فریمورک در حقیقت Qt را که یک فریم ورک برای ایجاد رابط گرافیکی یا GUI در پایتون است. Qt خود در محیط C++ نوشته شده است اما PyQt حضور این فریمورک قدرتمند را برای پایتون میسر می کند. کد زیر نوشتن کلمه Hello world را با استفاده از این فریمورک در زبان پایتون نشان می دهد. باید گفت که این فریمورک قابلیت برنامه نویسی برای همه سیستم عامل ها را دارد.import sys from PyQt5.QtWidgets import QApplication, QWidget, QLabel from PyQt5.QtGui import QIcon from PyQt5.QtCore import pyqtSlot def window(): app = QApplication(sys.argv) widget = QWidget() textLabel = QLabel(widget) textLabel.setText(&quotHello World!&quot) textLabel.move(110,85) widget.setGeometry(50,50,320,200) widget.setWindowTitle(&quotPyQt5 Example&quot) widget.show() sys.exit(app.exec_()) if __name__ == '__main__': window()نتیجه کد بالایی تصویری به شکل زیر است.فریم ورک Kivyاین فریم ورک نیز یکی از فریمورک هایی است که از اکثز سیستم عامل ها پشتیبانی کرده و جزو فریم ورک هایی است که مناسب ایجاد رابط گرافیکی یا GUI است. این فریمورک یک فریم ورک متن باز بوده و بسیاری از افراد به دلیل وجود کتابخانه های رایگان بسیار و قدرتمند بودن این فریم ورک ازآن استفاده می کنند. نمونه ای از کد این برنامه به شکل زیر می باشد. با استفاده از کد زیر به سادگی میتوانید Hello world را با استفاده از زبان برنامه نویسی پایتون و فریم ورک کیوی بنویسید.#!/usr/bin/env pythonfrom kivy.app import App #We need to import the bits of kivy we need as we need them as importing everything would slow the app down unnecessarilyfrom kivy.uix.widget import Widget #this is a thing that you want the App to displayfrom kivy.uix.label import Label #this will import the code for the label in which we want to display Hello World!class Lesson1App(App):def build(self):lbl=Label(text='Hello World!') #lbl is a variable name being assigned the Label definitionreturn lbl #This must match the name of the Widget you want to appear on screenif __name__ == '__main__': #Documentation suggests that each program file should be called main.py but I think that only matters if you're creating the final App to go onto a phone or tablet we're a long way off from that yetLesson1App().run() #This must match the name of your Appفریم ورک Tkinterفریمورک Tkinter در حقیقت به سادگی و قدرتمند بودن معروف است و یکی از پرطرفدارترین فریم ورک ها در بین برنامه نویسان برای طراحی رابط گرافیکی است. رابط گرافیکی موجود در Tkinter در حقیقت ترکیبی از رابط گرافیکی استاندارد پایتون با Tk است که نتیجه آن، این فریم ورک شده است. Tkinterیکی از فریم ورک هایی است که تعداد زیادی از منابع و آموزش ها برای آن وجود دارد و همچنین تعداد بسیار زیادی از ابزار ها و ویجت ها را برای برنامه نویسی در اختیار شما قرار میدهد. این قابلیت ها باعث می شود که Tkinter یکی از پکیج های مناسب برای برنامه نویسی دسکتاپ باشد. کد زیر نوشتن یک برنامه ساده با استفاده از Tkinter است.from tkinter import Tk, Label, Buttonclass MyFirstGUI:def __init__(self, master):self.master = mastermaster.title(&quotA simple GUI&quot)self.label = Label(master, text=&quotThis is our first GUI!&quot)self.label.pack()self.greet_button = Button(master, text=&quotGreet&quot, command=self.greet)self.greet_button.pack()self.close_button = Button(master, text=&quotClose&quot, command=master.quit)self.close_button.pack()def greet(self):print(&quotGreetings!&quot)root = Tk()my_gui = MyFirstGUI(root)root.mainloop()فریم ورک PyGUIاین فریم ورک ساده ترین و همچنین سبک ترین فریم ورک در میان لیست ما است. با استفاده از این فریمورک به سادگی میتوانید شروع به برنامه نویسی ویندوز با پایتون نمایید. البته باید گفت که این فریم ورک نیز به مانند فریم ورک های دیگری که در این لیست معرفی کردیم به صورت مولتی پلتفرم بوده که این مورد خود جزو موارد بسیار مهم برای برنامه نویسی محسوب می شود و هر برنامه نویسی قبل از انتخاب فریم ورک خود برای شروع به کار این مورد را باید مد نظر داشته باشد. برنامه نویسان PyGUI تعداد کد های بسیار کمی را ما بین رابط گرافیکی و نرم افزار پایتون مینویسند که این صفحه کاری شما را به یک صفحه برای نمایش رابط گرافیکی تبدیل می کند.WxPythonWxPython در حقیقت یک ماژول توسعه یافته پایتون است که یکی از ماژول های قدیمی و سنتی پایتون بوده و رابط گرافیکی برای پایتون را ارائه میدهد. یکی از نکات مهم راجع به این فریم ورک پایتون این است که WxPython توانایی ساخت نرم افزار برای ویندوز لینوکس و مک را دارد و با استفاده از آن میتوانید نرم افزار های سنتی این سه پلتفرم دسکتاپ را بنویسید. کد زیر Hello world را با استفاده از این فریم ورک در زبان برنامه نویسی پایتون نشان می دهد.import wxapp = wx.App()window = wx.Frame(None, title = &quotwxPython Frame&quot, size = (300,200))panel = wx.Panel(window)label = wx.StaticText(panel, label = &quotHello World&quot, pos = (100,50))window.Show(True)app.MainLoop()بعد از اجرای کد بالا یک Box به شکل زیر ایجاد شده و Hello world در آن به نمایش در می آید.در پایان باید گفت که این فریم ورک ها اکثراً مولتی پلتفرم بوده و به گونه ای طراحی شده اند که شما به سادگی بتوانید برنامه ساخته شده خود را در همه پلتفرم های مرسوم اجرا کرده و از آن استفاده کنید. انتخاب فریم ورک مناسب برای برنامه نویسی بیش از هرچیز دیگری به نوع و نحوه کار شما مرتبط بوده همه برنامه نویسان با توجه به نوع کاری که می خواهند انجام دهند فریم ورک مورد نیاز خود را انتخاب می کنند.اگه علاقه مند به برنامه نویسی پایتون هستید و می خواهید مباحث جدید در این حوزه را آموزش ببینید از اینجا می توانید وارد سایت دانشجویار شده و بخش مقدماتی پایتون را به صورت کاملا رایگان آموزش ببینید.