ثابت نگه داشتن سایز باتون وقتی که به layout اضافه میشود - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

ثابت نگه داشتن سایز باتون وقتی که به layout اضافه میشود

+1 امتیاز
سلام من یک مشکل دارم وقتی که Button رو به Horizontal layout اضافه می کنم با تغییر سایز پنجره برنامه سایز باتون هم خودکار عوض میشه چجوری میشه سایز رو ثابت نگه داشت ؟
سوال شده بهمن 7, 1392  بوسیله ی لارسون (امتیاز 63)   4 10 14

4 پاسخ

+3 امتیاز
 
بهترین پاسخ
استفاده از سايز پوليسي فيكس مشكلاتي داره. براي مثال در سيستم‌هايي كه فونت پيش فرض اونها بزرگ‌تره ممكنه قسمتي از نوشته رو نبينيد. يا در نرم افزار هاي چند زبانه با ترجمه سايز نوشته تغيير ميكنه و سايز ويدجت تغيير نميكنه. در نتيجه ممكنه ظاهر نرم افزار به هم بخوره.

نگاهي به مثال‌هاي كيوت يا پروژه‌هاي اوپن سورس يا داكيومنت كيوت بندازيد.

راه حل اصولي براي اين كار استفاده از spacerهاست كه فضاي خالي اضافي رو پر ميكنه و كليد شما ميزان فضاي مورد نيازشو دريافت مي‌كنه.
پاسخ داده شده بهمن 11, 1392 بوسیله ی حامد مصافى (امتیاز 1,104)   2 3 12
انتخاب شد بهمن 11, 1392 بوسیله ی لارسون
+1 امتیاز

سلام

به این شکل 

QPushButton * btn = new QPushButton;
btn->setMaximumHeight(بیشترین ارتفاع);
btn->setMaximumWidth(بیشترین عرض);

 

پاسخ داده شده بهمن 8, 1392 بوسیله ی amc (امتیاز 280)   3 5 16
+2 امتیاز

شما اگر از طریق designer دارین فرم رو میسازین

روی باتون کلیک کنید بعد توی property ها

size policy -->Horizontal policy رو Fixed بدین

 

از طریق کد هم :

    ui->pushButton->setSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed);

 

پاسخ داده شده بهمن 8, 1392 بوسیله ی BlueBlade (امتیاز 15,315)   15 18 89
+1 امتیاز
از spacer ها استفاده كنيد.
پاسخ داده شده بهمن 11, 1392 بوسیله ی حامد مصافى (امتیاز 1,104)   2 3 12
...