خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

اولین رابط کاربری گرافیکی خود را در پایتون با Glade و GTK+ ایجاد کنید

به دنبال یک راه ساده برای ایجاد برنامه های رابط کاربری گرافیکی زیبا هستید؟ Python، GTK+ و Glade می توانند این کار را انجام دهند.

خلاصه عناوین

  • GTK+ و طراح رابط Glade برای توسعه دهندگان پایتون
  • تنظیم محیط پایتون برای GTK+ و Glade Development
  • ایجاد یک برنامه رابط کاربری گرافیکی ساده با طراح رابط Glade و پایتون
  • مزایای استفاده از GTK+ و Glade برای توسعه رابط کاربری گرافیکی پایتون

تعاریف کلیدی

  • توسعه دهندگان پایتون می توانند از GTK+ و Glade برای ایجاد رابط کاربری گرافیکی بصری با استفاده از یک رابط بصری استفاده کنند.
  • تنظیم محیط برای این مثال شامل نصب Python، GTK+، Glade و PyGObject است.
  • استفاده از GTK+ و Glade برای توسعه رابط کاربری گرافیکی پایتون، روند را سرعت می بخشد و طراحی رابط کاربری گرافیکی را از کد جدا می کند.

پایتون یک زبان در دسترس است که برای تجزیه و تحلیل داده ها و توسعه وب مناسب است. اما برای توسعه برنامه رابط کاربری گرافیکی نیز یک انتخاب عالی است. GTK+ و Glade فرآیند ایجاد اپلیکیشن های چند پلتفرمی ساده را ساده می کنند.

GTK+ و طراح رابط Glade برای توسعه دهندگان پایتون

GTK+ (GIMP Toolkit) و Glade Interface Designer ترکیبی فوق العاده برای توسعه دهندگان پایتون هستند که می خواهند رابط های کاربری گرافیکی بصری و دلپذیری ایجاد کنند.

GTK+ یک جعبه ابزار چند پلتفرمی است که می توانید برای توسعه رابط کاربری گرافیکی از آن استفاده کنید. با انواع سیستم عامل ها از جمله لینوکس، ویندوز و macOS سازگار است.

Glade Interface Designer، ابزار همراه GTK+، به شما امکان می دهد بدون نیاز به نوشتن کد طرح، رابط کاربری گرافیکی طراحی کنید. می توانید از آن برای ایجاد یک رابط کاربری گرافیکی در محیط WYSIWYG با چند کلیک و عملکردهای ساده کشیدن و رها کردن استفاده کنید.

تنظیم محیط پایتون برای GTK+ و Glade Development

راه‌اندازی محیط شما اولین قدم حیاتی برای اطمینان از گردش کار روان و کارآمد است.

1. پایتون را نصب کنید

با اطمینان از نصب پایتون روی سیستم خود شروع کنید. کد پایتون 3 را در نمونه هایی که می خوانید خواهید دید، زیرا پشتیبانی و ادغام بهتری را برای GTK+ و Glade ارائه می دهد. برای لینوکس و macOS، پایتون معمولاً از قبل نصب شده است.

کاربران ویندوز می توانند پایتون را از وب سایت رسمی پایتون دانلود کنند.

2. GTK+ را نصب کنید

می توانید GTK+ را با استفاده از یک مدیریت بسته نصب کنید.

مطلب مرتبط:   نحوه استفاده از کلیدهای React برای جلوگیری از تضاد کامپوننت

برای سیستم‌های لینوکس مبتنی بر اوبونتو و دبیان از:

sudo apt-get install libgtk-3-dev

برای فدورا و موارد مشابه:

sudo dnf install gtk3-devel

در macOS، با استفاده از Homebrew:

brew install gtk+3

کاربران ویندوز می توانند GTK+ را از صفحه دانلود رسمی GTK دانلود کنند. اما اگر MSYS2 را نصب کرده اید، می توانید خط فرمان MSYS2 را باز کرده و از این دستور استفاده کنید:

pacman -S mingw-w64-x86_64-python-gobject

3. Glade را نصب کنید

برای نصب Glade می توانید از خط فرمان استفاده کنید.

برای توزیع‌های لینوکس مبتنی بر اوبونتو و دبیان:

sudo apt-get install glade

در فدورا:

sudo dnf install glade

کاربران macOS می توانند از Homebrew استفاده کنند:

brew install glade

کاربران ویندوز می توانند از دستور زیر با MSYS2 استفاده کنند:

pacman -S mingw-w64-x86_64-glade

4. Python Bindings برای GTK+

PyGObject را برای ادغام +GTK با پایتون نصب کنید. دستوری که برای این کار استفاده می کنید این است:

pip install PyGObject

اگر در هنگام نصب PyGObject خطایی مانند “Building wheel for pycairo (pyproject.toml) اجرا نشد” وجود داشته باشد، باید بسته cairo را نیز نصب کنید.

برای توزیع‌های لینوکس مبتنی بر اوبونتو و دبیان:

sudo apt-get install libcairo2-dev

برای فدورا:

sudo yum install cairo-devel

در macOS:

brew install pygobject3

5. راه اندازی یک محیط مجازی (اختیاری)

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

python -m venv myenv
source myenv/bin/activate

در استفاده از ویندوز:

python -m venv myenv
myenv\Scripts\activate

در macOS، برای اطمینان از اینکه محیط مجازی می‌تواند به بسته‌هایی که نصب می‌شود دسترسی داشته باشد، از موارد زیر استفاده کنید:

python -m venv --system-site-packages myenv
source myenv/bin/activate

6. تأیید نصب

برای تأیید اینکه GTK+ و Glade نصب شده اند، یک اسکریپت ساده پایتون ایجاد کنید که GTK را وارد می کند:

import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk

print("GTK+ version:", Gtk.get_major_version(), Gtk.get_minor_version())

وقتی این اسکریپت را اجرا می کنید، نسخه GTK+ نصب شده را خروجی می دهد. اگر همه چیز خوب پیش برود، محیط توسعه خود را راه اندازی کرده اید.

ایجاد یک برنامه رابط کاربری گرافیکی ساده با طراح رابط Glade و پایتون

می توانید برنامه رابط کاربری گرافیکی خود را در Glade Interface Designer طراحی کنید و طرح بندی را به عنوان یک فایل پروژه صادر کنید. سپس می توانید از کد پایتون به آن فایل پروژه دسترسی پیدا کنید.

مطلب مرتبط:   چگونه با استفاده از پایتون یک بازی جلاد بسازیم

طراحی رابط کاربری گرافیکی خود با Glade

رابط کشیدن و رها کردن Glade، تمرکز روی طراحی را بدون گرفتار شدن در کدهای زیرین آسان می کند. Glade را از منوی برنامه یا خط فرمان سیستم خود با این دستور شروع کنید:

glade

شما باید رابط Glade را ببینید که در آن می توانید شروع به ایجاد طرح رابط کاربری گرافیکی خود کنید.

دکمه Create New Project در بالا سمت چپ یک بوم خالی برای طراحی رابط کاربری گرافیکی شما ارائه می دهد. Glade طیف گسترده ای از ویجت ها را در نوار بالای خود ارائه می دهد، از جمله دکمه ها، ورودی های متن و برچسب ها. این ویجت ها را روی بوم خود بکشید تا شروع به طراحی رابط کاربری گرافیکی خود کنید. شما می توانید اندازه و جایگاه ویجت ها را با توجه به نیازهای طراحی خود تغییر دهید.

ابتدا ویجت GtkWindow را از منوی Toplevels انتخاب کنید:

گزینه ایجاد GtkWindow در Glade

در صفحه General در نوار سمت راست Glade، گزینه ID را مشاهده خواهید کرد. این شناسه نام منحصربه‌فرد ویجتی است که اضافه کرده‌اید. برای این مثال، شناسه mainWindow را به GtkWindow که اضافه کردید اختصاص دهید.

اکنون می توانید ویجت ها را به پنجره اصلی که ایجاد کرده اید اضافه کنید. به Containers در نوار بالا بروید، ویجت GtkBox را انتخاب کنید و آن را به فضای کاری خود بکشید. سپس به آن شناسه myMainBox بدهید.

ایجاد شناسه برای ویجت Glade GtkBox

پس از افزودن ویجت GtkBox، گزینه های مختلفی را در سمت راست فضای کاری خود مشاهده خواهید کرد که مختص آن ویجت هستند. شما می توانید تمام طرح خود را در اینجا بدون نوشتن هیچ کدی ویرایش کنید.

سپس، ویجت Control را به طراحی خود اضافه کنید. برای انجام این کار، به Control در نوار بالا بروید، GtkButton را به عنوان مثال انتخاب کنید و آن را به هر نقطه از GtkBox بکشید. به آن شناسه بدهید، myButton. در صورت تمایل می توانید متن دکمه را با استفاده از تب General در پنل سمت راست تغییر دهید.

GtkButton یک ویجت قابل کلیک است، بنابراین می توانید برای آن یک هندلر پایتون تعریف کنید و بعدا کد مناسب را بنویسید. به تب سیگنال ها در منوی سمت راست بروید و یک کنترل کننده برای سیگنال کلیک شده مشخص کنید. برای این مثال، آن را on_button_clicked صدا بزنید.

مطلب مرتبط:   MVC، MVP، MVVM: کدام یک را انتخاب کنیم؟

تنظیم سیگنال کلیک برای Glade GtkButton

اکنون می توانید طراحی رابط کاربری گرافیکی خود را به عنوان فایل پروژه ذخیره کنید. فایل را به عنوان myDesign.glade ذخیره کنید.

استفاده از فایل طراحی Glade از کد پایتون

یک فایل app.py در همان دایرکتوری فایل myDesign.glade ایجاد کنید. کد زیر را در این فایل قرار دهید:

import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk
from gi.repository import Gdk

class MyApp:
    def __init__(self):

        # Load the Glade file to construct the GUI

        self.builder = Gtk.Builder()
        self.builder.add_from_file("myDesign.glade")


        # Retrieve the main window from Glade and set up the close event

        self.window = self.builder.get_object("myMainWindow")
        self.window.connect("destroy", Gtk.main_quit)


        # Retrieve the button from Glade and connect the click event

        self.button = self.builder.get_object("myButton")
        self.button.connect("clicked", self.on_button_clicked)


        # Variable to toggle the background color

        self.color_toggle = False

    def on_button_clicked(self, widget):

        # Click the button and the background color will change

        color = "#FF0000" if self.color_toggle else "#00FF00"
        self.window.modify_bg(Gtk.StateType.NORMAL, Gdk.color_parse(color))
        self.color_toggle = not self.color_toggle

    def run(self):
        self.window.show_all()
        Gtk.main()

if __name__ == "__main__":
    app = MyApp()
    app.run()

این کد با هر بار کلیک بر روی دکمه، رنگ پس زمینه را تغییر می دهد. به فراخوانی های ()self.builder.get_object توجه کنید که شناسه ابزارک هایی را که در Glade تعریف کرده اید ارسال می کند.

اسکریپت پایتون خود را با استفاده از این دستور اجرا کنید تا نتیجه را ببینید:

python3 app.py

نتیجه برای برنامه Glade و Python

مزایای استفاده از GTK+ و Glade برای توسعه رابط کاربری گرافیکی پایتون

استفاده از GTK+ و Glade برای توسعه رابط کاربری گرافیکی پایتون مزایای واضحی را ارائه می دهد. معمولاً ایجاد یک رابط کاربری گرافیکی زمان و تلاش زیادی را می طلبد. اما با Glade Interface Designer می توانید این روند را تسریع کنید. Glade همچنین طیف گسترده‌ای از ویجت‌ها را ارائه می‌دهد که استفاده از هر کدام به آسانی دکمه موجود در مثال است.

مزیت کلیدی Glade توانایی آن در جدا نگه داشتن طراحی رابط کاربری گرافیکی از کد است. این امر نگهداری و به روز رسانی رابط کاربری گرافیکی را ساده تر می کند. این رویکرد منجر به کدهای تمیزتر و سازماندهی شده بهتر، مطابق با شیوه های برنامه نویسی مدرن می شود.