تبلیغات
Qt Developer Blog - QHBoxLayout,QVBoxLayout
 
Qt Developer Blog
کیوتی ساده و آسان برای همه
                                                        
درباره وبلاگ

در این وبلاگ کیوتی که مجموعه ای از کلاس ها برای برنامه نویسی دلپذیر تر با سی پلاس پلاس هست آموزش داده میشود
مدیر وبلاگ : سعید دادخواه
نظرسنجی
آموزش ها به چه صورتی باشد






آمار وبلاگ
  • کل بازدید :
  • بازدید امروز :
  • بازدید دیروز :
  • بازدید این ماه :
  • بازدید ماه قبل :
  • تعداد نویسندگان :
  • تعداد کل پست ها :
  • آخرین بازدید :
  • آخرین بروز رسانی :
چهارشنبه 22 دی 1389 :: نویسنده : سعید دادخواه

سلام خدمت دوستای گلم

دفعه قبلی که میخواستیم فرم خودمون رو طراحی کنیم دیدیم که خیلی دردسر داشت باید دقیقا میگفتم که هر ویدجتی که رو فرم پدر قرار میگیره جاش باید کجا باشه خوب این مشکل رو میشه در Qt به شکل خیلی عالی حلش کرد . بهترین کاری که کیوتی میتونسته واسه ما انجام بده این بوده که با توجه به شرایط جای هر ویدجت رو تعیین کنه . که این کارو با سه کلاس کرده QHBoxLayoutو QVBoxLayoutو QGridLayout

امروز موضوع بحث QHBoxLayout هستش.

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

خوب به نظرتون این کلاس چه کار واسه مامیکنه ؟

ایشون ( این کلاس ) میاد و تعدادی بچه ویدجت ! از ما میگیریه و میگه بگو بابای این بچه ها کجا ست . بعد روی بابا ، این بچه رو به صورت افقی مرتبشون میکنه.

مثلا عکس زیرو ببینید این در تصویر بچه دکمه ها به صورت خیلی مرتب توی یه صف افقی مرتب شدند رو باباشون البت.

hboxlayout

برای این کار باید چکار کنیم ؟کد زیر رو ببینید

qhboxlayout

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

برای ویدجت دادن به QHBoxLayout از تابع addWidget این کلاس استفاده میکنم. و بعد به آقای پدر میگم که کل محیط شما باید با layout ی که من تعیین میکنم پر بشه این کارو با تابع setLayout انجام میدم. نکته اینجاست که با اجرای این تابع تمام ویدجت های داخل یه layout به فرزندی اون پدر در میاند. به همین سادگی

QVBoxLayout هم دقیقا همین جوره با این فرق که ویدجت ها به صورت عمودی از بالا به پایین چیده میشند

اگه ما تو کد بالا به جای HBox از VBox استفاده کنیم فرم به شکل زیر در میاد

qvobxlayout

خوب خسته نباشید





نوع مطلب : کلاس های Qt، 
برچسب ها : QHBoxLayout، QVBoxLayout، QLayout، layout in qt، Qt، QT، qt، کیوت، لی اوت در کیوتی، مدیریت ویدجت ها،