سؤال

طيب هنا هو مشكلتي:

لدي تخطيط عمودي يحتوي على qplaintextedit وتخطيط أفقي (يحتوي على 2 qpushbuttons) أسفل تحرير النص.

التصميم الرأسي هو مجرد جزء من واجهة المستخدم الرسومية ، ويتم تغيير حجمه حسب دقة الشاشة. بالمناسبة. إنه تطبيق للجوال ، لذلك ليس لدي مساحة كبيرة على الشاشة.

تحتوي أزرار الدفع على بعض النص الذي يتم تعيينه ديناميكيًا ، ولا أعرفه من البداية إلى رمزه يدويًا.

تحدث مشكلتي عندما يكون النص الموجود في أزرار الدفع كبيرة ، ويتم توسيع تخطيط رأسي بالكامل لتناسب الأزرار.

كيف يمكنني جعل التصميم الرأسي غير قابل للاستعداد؟ لاحظ أن هذا يختلف عن "ثابت" بسبب دارات الشاشة المختلفة. أود فقط مقطع الأزرار إذا لم تكن مناسبة ، ولكن حافظ على عرض التخطيط دون مساس.

أي طريقة للقيام بذلك؟

هل كانت مفيدة؟

المحلول

ستحتاج إلى تعيين أقصى عرض للأزرار ، وليس التصميم ، والذي لا يتسع إلا لتناسب الأزرار الأوسع. الدفع المستندات على qpushbutton وابحث عن وظائف ورثية QWidget تسمى setMaximumSize أو setMaximumWidth.

نصائح أخرى

يمكنك دائمًا getWidth () على الزر عندما يكون حجمًا مناسبًا ، ثم SetMaximumWidth باستخدام هذه القيمة لأنك لن تعرف ذلك عادةً. اختر حجم نص/Val الافتراضي المناسب واستخدم ذلك لإنشاء الافتراضي "الديناميكي" لأن هذا يحدث على شاشات ذات حجم متفاوت.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top