python - How to get the true current size of a Label? -


मेरे पास रूट विंडो में एक फ़्रेम है (रूट विंडो का आकार .geometry () ) जिसमें मेरे पास दो Label जो फ़्रेम को भरें। मैं अपने टेक्स्ट के फ़ॉन्ट आकार को अनुकूलित करने के लिए Label के वर्तमान आकार को जानना चाहता हूं।

लेकिन मैं वापस लौटाए गए मानों का कोई मतलब नहीं बना सकता नीचे दिए गए उदाहरण से मुझे सामना की समस्या का उदाहरण मिलता है (तीन प्रश्न बोल्ड में हैं):

<पूर्व> आयातित टीके रूट के रूप में टिनकॉन्टर = टीके। टीके () रूट.जीमेट्री ("200x200") # शीर्ष स्तर फ्रेम , नीचे दोनों लेबल युक्त रूट को भरने के लिए विस्तारित करें f = tk.Frame (root) f.pack (विस्तृत करें = सच, भरें = टीके। BOTH) # नीचे दिए गए पाठ में उल्लिखित दो मामलों के लिए शर्त अगर सच: टेक्स्ट = "" अन्य: टेक्स्ट = " नमस्कार \ nhello \ nhello \ nhello "# दो लेबल, ऊपर एक के txt को बदल दिया जाएगा l1 = tk.Label (f, text = text, font = ('arial', 40), background =" green ") l1.pack (विस्तृत करें = सही = भरें = टीके। BOTH) l2 = tk.Label (f, text = "hello", font = ('arial', 15), पृष्ठभूमि = "नीला") l2.pack (विस्तृत = सच, भरें = Tk.BOTH) # बस के मामले में, मैं [f, l1, l2] में i के लिए https://stackoverflow.com/users/2225682/falsetru धन्यवाद: i.update_idletasks () प्रिंट ("शीर्ष लेबल: reqheight = { 0} ऊँचाई = {1}, नीचे लेबल: reqheight = {2} ऊंचाई = {3} "। प्रारूप (l1.winfo_reqheight), l1.winfo_height (), l2.winfo_reqheight (), l2.winfo_height ())) जड़.मैनलोूप ()

केस 1: ट्रू (खाली पाठ स्ट्रिंग)

और आउटपुट

  शीर्ष लेबल: रेक्वायट = 66 ऊँचाई = 1, नीचे लेबल: रेक्लेइट = 29 ऊँचाई = 1  

सभी विजेट विस्तार करने के लिए सेट हैं, इसलिए उनकी कुल ऊंचाई कैसे आती है 66 + 29 = 95 जबकि खिड़की 200 पीएक्स उच्च है?

मैं कैसे की ऊंचाई प्राप्त कर सकता हूँ खाली, ii) दोनों तरीकों से भरा और iii ) विस्तारित Label - जो मैं संदर्भ के रूप में रखता हूं (यदि Label बढ़ता है तो मैं जानूंगा कि इसे उस संदर्भ से अधिक नहीं होना चाहिए)?

केस 2: शर्त गलत (बहु-पंक्ति पाठ स्ट्रिंग)

छवि विवरण यहाँ दर्ज करें

और

  शीर्ष लेबल: reqheight = 246 ऊंचाई = 1, नीचे लेबल: reqheight = 29 height = 1   

शीर्ष लेबल ने एक को नीचे कुचल क्यों दिया है? क्या कोई ऐसा तंत्र है जो कहता है कि 'जितना अधिक हो उतना विस्तार हो सकता है जितना आप अन्य विजेट के भिन्न हो सकते हैं?'

यह अनुरोध ऊँचाई है - वह ऊँचाई जिस पर लेबल चाहे खिड़की में कैसे रखा जाता है। यह आकार यह अनुरोध करता है जब ज्यामिति प्रबंधक पूछता है कि "आपको कितना स्थान की आवश्यकता है?" यह मान आप पैक, स्थान या ग्रिड का उपयोग कैसे करते हैं, या कितनी बड़ी विंडो युक्त है, इसके आधार पर नहीं बदला जाएगा।

यदि आप वास्तविक ऊंचाई चाहते हैं, तो उपयोग करें।


Comments

Popular posts from this blog

java - org.apache.http.ProtocolException: Target host is not specified -

ios - Subclassing UIView and adding a property -

Powerbuilder 12.1 and DataWindow in Design vs Debug and Executable/Runtime -