آموزش مدیریت طرح بندی در PyQt

3 سال پیش
آموزش مدیریت طرح بندی در PyQt

 آموزش مدیریت طرح بندی در PyQt

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش مدیریت طرح بندی در PyQt خواهیم پرداخت.

پیشنهاد ویژه : پکیج آموزش طراحی وب سایت با پایتون و جنگو

ویجت رابط کاربری گرافیکی را می توان با تعیین مختصات مطلق آن که بر حسب پیکسل اندازه گیری می شود ، داخل پنجره ظرف قرار داد. مختصات مربوط به ابعاد پنجره است که با روش ()setGeometry  تعریف شده است.

نحو ()setGeometry 

QWidget.setGeometry(xpos, ypos, width, height)

 

در قطعه کد زیر پنجره سطح بالا با ابعاد ۳۰۰ در ۲۰۰ پیکسل در موقعیت (۱۰ ، ۱۰) روی مانیتور نمایش داده می شود.

import sys
from PyQt4 import QtGui

def window():
   app = QtGui.QApplication(sys.argv)
   w = QtGui.QWidget()
    
   b = QtGui.QPushButton(w)
   b.setText("Hello World!")
   b.move(50,20)
    
   w.setGeometry(10,10,300,200)
   w.setWindowTitle(“PyQt”)
   w.show()
   sys.exit(app.exec_())
    
if __name__ == '__main__':
   window()

 

یک ویجت PushButton در پنجره اضافه شده و در موقعیت ۵۰ پیکسل به سمت راست و ۲۰ پیکسل در زیر موقعیت سمت چپ بالای پنجره قرار می گیرد.

اما این موقعیت یابی مطلق به دلایل زیر مناسب نیست –

  • حتی اگر اندازه پنجره تغییر کرده باشد ، موقعیت ویجت تغییر نمی کند.
  • ظاهر ممکن است در دستگاه های مختلف با وضوح متفاوت یکنواخت نباشد.
  • تغییر در طرح مشکل است زیرا ممکن است نیاز به طراحی مجدد کل فرم داشته باشد.

Original and Resized Window

PyQt API کلاس های چیدمانی را برای مدیریت ظریف تر موقعیت یابی ویجت ها در داخل محفظه ارائه می دهد. مزایای مدیران طرح بندی نسبت به موقعیت یابی مطلق عبارتند از –

  • اندازه ویجت های داخل پنجره به طور خودکار تغییر اندازه می دهد.
  • ظاهر یکنواخت را در دستگاه های صفحه نمایش با وضوح مختلف تضمین می کند.
  • افزودن یا حذف ویجت به صورت پویا بدون نیاز به طراحی مجدد امکان پذیر است.

در اینجا لیستی از کلاس ها وجود دارد که در این فصل یک به یک بحث خواهیم کرد.

کلاس ها و توضیحات
۱ QBoxLayoutکلاس QBoxLayout ویجت ها را به صورت عمودی یا افقی قرار می دهد. کلاسهای مشتق شده آن عبارتند از QVBoxLayout (برای مرتب سازی ویجت ها به صورت عمودی) و QHBoxLayout (برای مرتب سازی ویجت ها به صورت افقی).
۲ QGridLayoutیک شی کلاس GridLayout با شبکه ای از سلول ها که در سطرها و ستون ها مرتب شده اند ، ارائه می شود. کلاس شامل متد ()addWidget  است. با مشخص کردن تعداد سطرها و ستون های سلول می توان هر ویجت را اضافه کرد.
۳ QFormLayout

QFormLayout یک راه مناسب برای ایجاد دو ستون است ، جایی که هر سطر از یک قسمت ورودی مرتبط با یک برچسب تشکیل شده است. به عنوان یک قرارداد، ستون سمت چپ حاوی برچسب و ستون سمت راست شامل یک قسمت ورودی است.

 

منبع.

 

لیست جلسات قبل آموزش PyQt

  1. آموزش PyQt
  2. آموزش مقدمه PyQt
  3. آموزش Hello World در PyQt
  4. آموزش کلاس های اصلی در PyQt
  5. آموزش استفاده از Qt Designer در PyQt
  6. آموزش سیگنال ها و شکاف ها در PyQt
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه