کنترل تغییر اندازه پنجره
-
p{direction:rtl; text-align:right;font-family:tahoma}. سلام
در پنجره برنامه تعدادی ویجت قرار داره که باید با تغییر اندازه پنجره در مختصات خاصی قرار بگیرند.
برای این کار از رویداد resizeEvent استفاده کردم. مثلا یک PushButton که باید در گوشه بالا سمت راست پنجره قرار بگیره:
@
void Widget::resizeEvent(QResizeEvent *res){
btn->move(this->width()-btn->width(),0);
}
@p{direction:rtl; text-align:right;font-family:tahoma}. با این کار پردازش CPU بسیار بالا میره! بخصوص وفتی تعداد ویجت ها زیاد باشه. دستورات درون این رویداد با هر پیکسل تغییر اندازه پنجره اجرا میشن. اندازه بعضی ویجت ها هم باید نسبت به اندازه پنجره تنظیم بشه.
با استفاده از Layout ها هم نتونستم طرح مورد نظرم رو اجرا کنم.
میخوام بعد از پایان Resize یعنی بعد از اینکه کلید ماوس رها شد جابجایی ها انجام بشه تا پردازش کمتری انجام بگیره. -
-
p{direction:rtl; text-align:right;font-family:tahoma}. سعی میکنم ازشون استفاده کنم.
چطور میشه کاری کرد که با تغییر اندازه جدول اندازه سلول های اون با اندازه جدول مچ بشه؟ به طوری که تمام طول عرض جدول رو پر کنن.
این دستور میتونه این کار رو انجام بده اما درصورت استفاده از Layout چه موقع باید اجرا بشه؟
جدول 7 در 6 هست.
@
qw->horizontalHeader()->setDefaultSectionSize(qw->width()/7);
qw->verticalHeader()->setDefaultSectionSize(qw->height()/6);
@ -
p{direction:rtl; text-align:right;font-family:tahoma}. بهنظر من دوباره در مورد لیآوتها در کیوت بخون. ظاهراً هیچ تصور صحیحی از لیآوت نداری.
p{direction:rtl; text-align:right;font-family:tahoma}. بههیچعنوان نباید برای تنظیم اندازه و غیره کد بنویسی. با تنظیم آرایهٔ layoutStretch میتونی به نسبت دلخواه اندازهها رو توی یه layout تنظیم کنی.
-
[quote author="nice_2000" date="1358832268"]p{direction:rtl; text-align:right;font-family:tahoma}. بله باید بیشتر کار کنم. زیاد با Layout ها کار نکردم :|
اما این جدوله رو میشه طوری تنظیم کرد که خونه هاش به نسبت اندازه کل جدول تنظیم بشن؟
متشکرم :)[/quote]p{direction:rtl; text-align:right;font-family:tahoma}. الان من چی جواب بدم آخه؟ بله میشه.