سؤال

وماذا بعد ذلك ترجع 0؟ (البيئة بلدي: ويندوز فيستا، VC ++ 9، Qt4.5)


int func()
{
    QPushButton button("Blah blah");
    QFontMetrics fm = button.fontMetrics();
    return fm.leading();
}

والدعوة إلى "fm.height ()" ترجع نتائج معقولة (16 بكسل في حالتي).

والدعوة إلى "fm.lineSpacing ()" إرجاع نفس النتيجة مثل "fm.height ()".

والدعوة إلى "fm.boundingRect (QRect ()، 0،" أول خط \ ن السطر الثاني \ ن الخط الثالث ") ارتفاع ()؛" بإرجاع 16 * 3، أي مرة أخرى بين تباعد الأسطر غير المدرجة في نتيجة ...

هل هذا الاستخدام غير الصحيح من جانبي أو شيء آخر؟

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

المحلول

ووفقا للمستندات lineSpacing() هو دائما يساوي height() + leading()

وheight() هو دائما يساوي ascent()+descent()+1 (1 هو للخط القاعدة).

من <لأ href = "http://www.brightlemon.com/knowledge-base/blog/typography-01-font-basics-what-is-x-height-leading-kerning-tracking-ascender-de -0 "يختلط =" نوفولو noreferrer "> هنا الرائدة هو" الفضاء عموديا بين أسطر من النص - اسم يأتي من قطعة المادي من الرصاص التي كانت تستخدم في عملية الطباعة الميكانيكية لفصل أسطر من النص "

وهكذا، ما الخط الذي تستخدمه، وأنها لا تستخدم إحدى الشركات الرائدة في حجم الصفر؟

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