در اولین گام برای ساخت یک اپلیکیشن گرافیکی با PySide6، باید بدنهی اصلی برنامه را بسازیم. این کار شامل چند مرحلهی مقدماتی و سه بخش اصلی خواهد بود: نصب کتابخانه، ایجاد یک پنجرهی اصلی (Window) و نگهداری برنامه در یک حلقهی اجرایی.
نصب PySide6
پیش از شروع کار باید اطمینان حاصل کنید که کتابخانه PySide6 روی سیستم شما نصب شده است. برای نصب آن، از دستور زیر در محیط ترمینال یا CMD استفاده کنید:
pip install PySide6
در صورتی که از نسخههای خاصی از پایتون یا محیطهای مجازی (virtualenv یا venv) استفاده میکنید، مطمئن شوید که دستور نصب را در همان محیط فعال اجرا میکنید. پس از نصب موفق، میتوانید با اجرای دستور زیر از نصب صحیح اطمینان حاصل کنید:
python -m PySide6
اگر خطایی مشاهده نکردید، یعنی PySide6 با موفقیت نصب شده و آماده استفاده است.
اضافه کردن ماژولهای PySide6
برای شروع کار، باید ماژولهای مورد نیاز را از PySide6 وارد (Import) کنیم. برای سادهترین مثال، ما فقط به کلاسهای QApplication و QWidget نیاز داریم.
from PySide6.QtWidgets import QApplication, QWidget
توجه داشته باشید که میتوانید تنها کلاسهایی که مورد نیاز هستند را فراخوانی کنید، اما در پروژههای بزرگتر معمولاً چندین کلاس از بخشهای مختلف PySide6 استفاده میشود.
ساخت QApplication و QWidget
در PySide6 برای اجرای هر برنامهی گرافیکی باید ابتدا یک نمونه از کلاس QApplication ایجاد کنید. سپس یک شیء از QWidget (که پنجرهی اصلی برنامه است) ساخته و نمایش داده میشود.
import sys
from PySide6.QtWidgets import QApplication, QWidget
app = QApplication(sys.argv)
window = QWidget()
window.show()
app.exec()
همانطور که مشاهده میکنید، متد show() برای نمایش پنجره و متد exec() برای اجرای حلقهی اصلی برنامه استفاده میشود. این حلقه تا زمانی که کاربر پنجره را ببندد، فعال خواهد ماند.
# Function Example
import sys
from PySide6.QtWidgets import QApplication, QWidget
app = QApplication(sys.argv)
window = QWidget()
window.show()
app.exec()
# OOP Example
import sys
from PySide6.QtWidgets import QApplication, QWidget
class App(QWidget):
def __init__(self):
super().__init__()
if __name__ == "__main__":
app = QApplication(sys.argv)
window = App()
window.show()
app.exec()
نمونه خروجی:
تعیین عنوان پنجره
میتوانید با استفاده از متد setWindowTitle() برای پنجره عنوان تعیین کنید. اگر عنوان تعیین نکنید، پنجره بدون نام خاصی باز میشود.
# Function Example
import sys
from PySide6.QtWidgets import QApplication, QWidget
app = QApplication(sys.argv)
window = QWidget()
window.setWindowTitle("icc-aria gui app")
window.show()
app.exec()
# OOP Example
import sys
from PySide6.QtWidgets import QApplication, QWidget
class App(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("icc-aria gui app")
if __name__ == "__main__":
app = QApplication(sys.argv)
window = App()
window.show()
app.exec()
تغییر اندازهی پنجره
برای تعیین اندازهی پیشفرض، حداقل یا حداکثر اندازهی پنجره میتوانید از متدهای resize()، setMinimumSize() و setMaximumSize() استفاده کنید.
# set default size
window.resize(350, 200)
# set minimum size
window.setMinimumSize(400, 300)
# set maximum size
window.setMaximumSize(640, 450)
در صورتی که بخواهید کاربر نتواند اندازهی پنجره را تغییر دهد، میتوانید از متد setFixedSize() استفاده کنید تا عرض و ارتفاع پنجره ثابت بماند.
# set fixed size
window.setFixedSize(400, 300)
همانطور ک