به دنبال یک راه ساده برای ایجاد برنامه های رابط کاربری گرافیکی زیبا هستید؟ 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+ را با استفاده از یک مدیریت بسته نصب کنید.
برای سیستمهای لینوکس مبتنی بر اوبونتو و دبیان از:
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 انتخاب کنید:
در صفحه General در نوار سمت راست Glade، گزینه ID را مشاهده خواهید کرد. این شناسه نام منحصربهفرد ویجتی است که اضافه کردهاید. برای این مثال، شناسه mainWindow را به GtkWindow که اضافه کردید اختصاص دهید.
اکنون می توانید ویجت ها را به پنجره اصلی که ایجاد کرده اید اضافه کنید. به Containers در نوار بالا بروید، ویجت GtkBox را انتخاب کنید و آن را به فضای کاری خود بکشید. سپس به آن شناسه myMainBox بدهید.
پس از افزودن ویجت GtkBox، گزینه های مختلفی را در سمت راست فضای کاری خود مشاهده خواهید کرد که مختص آن ویجت هستند. شما می توانید تمام طرح خود را در اینجا بدون نوشتن هیچ کدی ویرایش کنید.
سپس، ویجت Control را به طراحی خود اضافه کنید. برای انجام این کار، به Control در نوار بالا بروید، GtkButton را به عنوان مثال انتخاب کنید و آن را به هر نقطه از GtkBox بکشید. به آن شناسه بدهید، myButton. در صورت تمایل می توانید متن دکمه را با استفاده از تب General در پنل سمت راست تغییر دهید.
GtkButton یک ویجت قابل کلیک است، بنابراین می توانید برای آن یک هندلر پایتون تعریف کنید و بعدا کد مناسب را بنویسید. به تب سیگنال ها در منوی سمت راست بروید و یک کنترل کننده برای سیگنال کلیک شده مشخص کنید. برای این مثال، آن را on_button_clicked صدا بزنید.
اکنون می توانید طراحی رابط کاربری گرافیکی خود را به عنوان فایل پروژه ذخیره کنید. فایل را به عنوان 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
مزایای استفاده از GTK+ و Glade برای توسعه رابط کاربری گرافیکی پایتون
استفاده از GTK+ و Glade برای توسعه رابط کاربری گرافیکی پایتون مزایای واضحی را ارائه می دهد. معمولاً ایجاد یک رابط کاربری گرافیکی زمان و تلاش زیادی را می طلبد. اما با Glade Interface Designer می توانید این روند را تسریع کنید. Glade همچنین طیف گستردهای از ویجتها را ارائه میدهد که استفاده از هر کدام به آسانی دکمه موجود در مثال است.
مزیت کلیدی Glade توانایی آن در جدا نگه داشتن طراحی رابط کاربری گرافیکی از کد است. این امر نگهداری و به روز رسانی رابط کاربری گرافیکی را ساده تر می کند. این رویکرد منجر به کدهای تمیزتر و سازماندهی شده بهتر، مطابق با شیوه های برنامه نویسی مدرن می شود.