سؤال

أنا أستخدم SpinBox مع خط مخصص يبدو مرتفعا جدا في Spinbox. كيف أقوم بنقل النص أقل؟

لقد عدت بالفعل QStyle وجعل الخط أقل في عنصر واجهة مستخدم آخر ولكن لا يمكنني العثور على مكان القيام به مع SPINBOX. يجب أن يكون هناك QRect في مكان ما حيث يمكنك فقط نقل الجزء العلوي منه، لكنني لا أعرف ولا أستطيع أن أجد مكانه.

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

المحلول

يحدد كيو تي QStyle::SC_SpinBoxEditField, ، والتي يبدو أنها ما تريد تعديلها. إذا كنت أتذكر بشكل صحيح من قبل بضع سنوات عندما كنت أقوم بالأشياء مع الأساليب، يجب أن تكون قادرا على توصيلها في الحصول على خيارات لهذا البرنامج الفرعي، والذي سيتضمن الخصم الذي من المفترض أن يتم رسمه. تعديل قد تحصل على النتيجة التي تريدها. إذا لم يكن الأمر كذلك، فهو مكان للبدء في البحث عن إجابتك.

نصائح أخرى

هذا هو أكثر من مجرد إجابة إيجابية، ولكن قد تكون قادرا على القيام بذلك مع أساليب الأرقام:

spinbox->setStyleSheet("QSpinBox { bottom: -2px;}");

من الناحية المثالية سيكون هناك رقم فرعي أو شيء ما فقط للنص، ولكن وثائق ورقة أنماط لا تسرد واحدة، والتي قد تعني ما سبق سيكون له عواقب غير مرغوب فيه.

يمكنك ان تفعل:

spinBox->setAlignment(Qt::AlignCenter);//Or the Align Flag that you want

آمل أن تكون هذه المساعدة.

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