2014-04-16 3 views
6

का टेक्स्ट मार्जिन प्राप्त करें I QLineEdit के लिए टेक्स्ट मार्जिन कैसे प्राप्त कर सकता हूं?QLineEdit

नोट स्क्रीनशॉट में लाल लाइनों, कि मार्जिन मुझे इसमें रुचि में बताया गया है:

enter image description here

मैं स्क्रीनशॉट से संपादन बॉक्स के लिए qDebug() << ui->lineEdit->textMargins(); की कोशिश की है, लेकिन यह QMargins(0, 0, 0, 0) मुद्रित, संपादित करें, हालांकि यहां तक ​​कि बॉक्स में मार्जिन है।

+0

आखिरकार यह फ़ॉन्ट आकार और विजेट आकार के बीच की जगह है? आप शायद फ़ॉन्ट (QFontMetrics) और उपलब्ध ऊंचाई के आकार से इसकी गणना कर सकते हैं। टेक्स्ट मार्जिन() विधि मार्जिन के लिए आरक्षित मुक्त स्थान लौटाती है, 0 का मार्जिन यह नहीं दर्शाता है कि आपका फ़ॉन्ट हमेशा सीमाओं को हिट करेगा। –

+1

वह ऊर्ध्वाधर मार्जिन के लिए खाता हो सकता है, लेकिन क्षैतिज के लिए नहीं। इसके अलावा, क्षैतिज एक गायब हो सकता है, http://i.stack.imgur.com/9mD13.png – sashoalm

+0

आपको यह जानकारी क्यों चाहिए? हो सकता है कि यह मान प्राप्त किए बिना आपकी समस्या का समाधान करने का वैकल्पिक तरीका हो। –

उत्तर

3

paint event of QLineEdit देखें। जैसा कि आप देख सकते हैं कि बहुत सी चीजें इस पर प्रभाव डालती हैं।

textMargins के अलावा ऐसी चीजें हैं जो मूल्यों पर प्रभाव डाल सकती हैं जो आप खोज रहे हैं।

  1. इस्तेमाल किया शैली (देखें लाइन 1861)
  2. और फ़ॉन्ट गुण - देख QFontMetrics::ascent और QFontMetrics::descent

शैली मूल्य सबसे आयात है और आप इस मूल्य प्राप्त करने के रास्ते खोजने के लिए (शायद उपवर्ग है आवश्यक)

+0

लिंक अब और काम नहीं कर रहा है, क्या कोई नया है? – wutzebaer

संबंधित मुद्दे