2010-04-06 10 views
9

मैं एक खोज बॉक्स के रूप में उपयोग के लिए गोल सीमाओं के लिए एक QLineEdit स्टाइल कर रहा हूँ। सीमाओं का गोलाकार स्वयं आसान था, लेकिन जब मैं फोकस करता हूं तो विजेट के हाइलाइट किए गए हिस्से को कैसे गोल किया जाए, मैं अपने जीवन के बारे में नहीं समझ सकता। मैंने QLineEdit :: फोकस की कोशिश की है, लेकिन यह केवल आंतरिक सीमा को संशोधित करता है। नीचे दी गई छवियां दिखाती हैं कि गोलाकार क्लाइनलाइन का भ्रम कैसे खो जाता है जब यह फोकस प्राप्त करता है।क्यूटी 4.6 QLineEdit शैली। मैं ग्रे हाइलाइट सीमा को कैसे स्टाइल करूं ताकि यह गोलाकार हो?

QListView, QLineEdit { 
    color: rgb(127, 0, 63); 
    selection-color: white; 
    border: 2px groove gray; 
    border-radius: 10px; 
    padding: 2px 4px; 
} 
QLineEdit:focus { 
    color: rgb(127, 0, 63); 
    selection-color: white; 
    border: 2px groove gray; 
    border-radius: 10px; 
    padding: 2px 4px; 
} 

QLineEdit:edit-focus { 
    color: rgb(127, 0, 63); 
    selection-color: white; 
    border: 2px groove gray; 
    border-radius: 10px; 
    padding: 2px 4px; 
} 

साथ और ध्यान के बिना चित्र: without http://img688.imageshack.us/img688/1986/screenshot20100406at310.png with http://img251.imageshack.us/img251/1986/screenshot20100406at310.png

उत्तर

-1

स्टाइलिंग QLineEdit:focus उचित रूप से आपकी समस्या का ध्यान रखना चाहिए देख Qt Stylesheet Reference, List of Pseudo States

+0

छद्म स्थिति केवल बाहरी सीमा पर वास्तविक सीमा को प्रभावित करती है। यह संभव है कि मैं इसे उचित रूप से उपयोग नहीं कर रहा हूं। मैंने अपना QLineEdit जोड़ा है: फोकस और QLineEdit: संपादन-फ़ोकस शैलियों। चित्र एक ही रहते हैं। – jkyle

+0

हाँ आप सही हैं, यह विजेट पर फोकस होने पर वास्तव में विजेट की शैली को बदलता है, यह फोकस रेक्ट को प्रभावित नहीं करता है, एक बेहतर उत्तर जोड़ता है, इसे संदर्भ के लिए छोड़ देता है –

5

मैक:

widget.setAttribute(Qt::WA_MacShowFocusRect, 0); 

काम करना चाहिए, this answer देखें। अन्यथा आपको QStyle उप-वर्ग करना होगा और वहां फोकस आयत के चित्र को हटा देना होगा। Nokia FAQ 736 (How to avoid drawing focus rect)

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