समस्या: मैं अतिरिक्त टैग के साथ पाठ के लिए एक टेक्स्ट संपादन विजेट को कार्यान्वित करना चाहता हूं। मैं कुछ मामलों में कुछ टैग अदृश्य होना चाहता हूं ताकि वे उपयोगकर्ता को विचलित न करें।QSyntaxHighlighter के साथ छिपाने वाला पाठ
पर्यावरण: मैं PyQt
उपयोग कर रहा हूँ और QPlainTextWidget
और QSyntaxHighlighter
उपयोग करने के लिए पसंद करते हैं।
दृष्टिकोण:QSyntaxHighlighter
के साथ मैं तार जो मेरी आवश्यकता से मेल के लिए QTextCharFormat
सेट कर सकते हैं। QTextCharFormat
ने मुझे आकार, रंग इत्यादि जैसे सभी फ़ॉन्ट गुण दिए हैं लेकिन: मुझे टेक्स्ट को छिपाने या शून्य आकार को कम करने का विकल्प नहीं मिला है।
मैं टैग को हटाना या प्रतिस्थापित नहीं करना चाहता, क्योंकि यह बहुत अधिक कोड पेश करेगा (प्रतिलिपि में टैग होना चाहिए और बिना टैग के अनुसार शेष पाठ बनाने के लिए मैं QSyntaxHighlighter
का उपयोग नहीं कर सकता)।
अद्यतन: अब तक मुझे एक बदसूरत हैक मिला है। QTextFormat :: FontLetterSpacing को एक छोटे से मूल्य पर सेट करके, पाठ कम और कम जगह का उपभोग करेगा। एक पारदर्शी रंग के संयोजन में पाठ अदृश्य की तरह कुछ है।
समस्या: मेरे परीक्षण में यह केवल अक्षर स्पैसिंग के लिए 0.016% तक काम करता था। रिक्ति के नीचे 100% पर रीसेट कर दिया गया है।
ठीक है, सादा पाठ सादा पाठ है। गैर-सादे विजेट का उपयोग करने का प्रयास करें। –
मुझे 'QTextEdit' में संबंधित विकल्प नहीं मिला है। AFAIK अंतर स्क्रॉलिंग व्यवहार, टेबल, फ्रेम और छवियों जैसी चीजों तक ही सीमित है। पाठ जो छिपाने में सक्षम हो सकते हैं वे 'QPlainTextEdit' के समान हैं। अन्य तो क्यूटी के अंदर मो अधिक उन्नत कक्षाएं हैं। क्यूएससिंटिला का मतलब कुछ पूरी तरह से अलग करना होगा। – m2j