में एक 2 बाइट हेक्स मूल्य के लिए एक पूर्णांक कन्वर्ट एक tkinter जीयूआई के लिए, मैं '0x00' के रूप में एक हेक्स पते में पढ़ा एक I2C पता सेट करने चाहिए।अजगर
जीयूआई प्रारंभ:
तरह से मैं वर्तमान में यह कर रहा हूँ एक स्ट्रिंग के रूप इनपुट पढ़ने, एक पूर्णांक के लिए स्ट्रिंग परिवर्तित, तो एक वास्तविक हेक्स मान के लिए कि पूर्णांक परिवर्तित करने के रूप में नीचे आंशिक कोड में दिखाया गया है के द्वारा होता हैself.I2CAddress=StringVar()
self.I2CAddress.set("0x00") #Sets Default value of '0x00'
Label(frame, text="Address: ").grid(row=5, column=4)
Entry(frame, textvariable=self.I2CAddress).grid(row=5, column=5)
तो समारोह के अंदर:
addr = self.I2CAddress.get()
addrint = int(addr, 16)
addrhex = hex(addrint)
यह सबसे मूल्यों के लिए काम करता है, लेकिन मेरे मुद्दा यह है कि अगर मैं इस तरह के '0x01' के रूप में एक छोटे से हेक्स मूल्य स्ट्रिंग दर्ज, यह 1 के समुचित पूर्णांक में धर्मान्तरित है, लेकिन फिर 0x01 के बजाय 0x1 के हेक्स मान में परिवर्तित हो जाता है।
मैं एक ईई हूँ और बहुत ही सीमित प्रोग्रामिंग अनुभव है, इसलिए किसी भी मदद बहुत सराहना कर रहा है।
धन्यवाद! एक आकर्षण की तरह काम किया, मैं वास्तव में यह –
आप इतनी जल्दी जवाब मैंने पहले यह मुझे अनुमति देता है कुछ मिनट तक प्रतीक्षा करने के लिए है की सराहना करते हैं, लेकिन मैं पूरी तरह से –
तुम बस 'उपयोग कर सकते हैं {: # 02x} स्पष्ट' 0x' की 'बजाय। '#' "मानक उपसर्ग" है, जो हेक्स संख्या के लिए '0x' है जोड़ देगा। (यह भी% -formatting साथ उसी तरह काम करता है, और सी 'printf', और POSIX कमांड लाइन' printf', आदि) – abarnert