2010-08-08 10 views
8

पर QLineEdit का टेक्स्ट चुनें मैंने QtDesigner का उपयोग करके एक संवाद बनाया है। कुछ डिफ़ॉल्ट सामग्री के साथ संवाद में QLineEdit ऑब्जेक्ट है। जब संवाद शुरू होता है और फोकस QLineEdit पर जाता है, तो मैं डिफ़ॉल्ट सामग्री को स्वतः चुनना चाहता हूं, इसलिए जब उपयोगकर्ता लिखना शुरू कर देता है, तो पिछली सामग्री ओवरराइट की जाएगी।फोकस

संपादित करें:

निर्माता में:

dialog->accept(); 

और

connect(dialog, SIGNAL(accepted()), QlineObj, SLOT(selectAll())); 

उत्तर

7

कॉल

lineEdit->selectAll(); 
डिफ़ॉल्ट टेक्स्ट सेट करने के बाद

। (संवाद कन्स्ट्रक्टर में, शायद।)

+0

धन्यवाद मैंने पहले ही यह किया है;) संवाद-> स्वीकार करें(); {कन्स्ट्रक्टर में} और कनेक्ट (संवाद, सिग्नल (स्वीकृत()), क्लाइनऑबज, एसएलओटी (selectAll())); –

+0

यह कन्स्ट्रक्टर में काम करता है: क्यूटीमर :: सिंगलशॉट (0, लाइन एडिट, एसएलओटी (selectAll())); – Zmey

5

लगभग समान व्यवहार प्राप्त करने के लिए एक आसान तरीका है, जो setText() के बजाय setPlaceholderText() का उपयोग करके डिफ़ॉल्ट सामग्री सेट करना है। यह डिफ़ॉल्ट सामग्री को ग्रेड आउट दिखाएगा और जैसे ही QLineEdit लाभ केंद्रित होगा, यह गायब हो जाएगा।

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