2011-05-11 27 views
7

मुझे चेकबॉक्स जैसे नियंत्रण की आवश्यकता है जहां चेक किए गए और अनचेक किए गए राज्य कस्टम ग्राफ़िक का उपयोग करते हैं। मैंने QTool बटन के साथ QToolButton और QCheckBox के सभी दस्तावेज़ों को देखा है, लेकिन जो भी मैं चाहता हूं वह कोई संयोजन नहीं मिला।क्यूटी चेकबॉक्स/टूलबटन कस्टम/विशिष्ट चेक/अनचेक किए गए आइकन

मैं अनचेक स्थिति में एक आइकन (वास्तव में पिक्समैप) का उपयोग करना चाहता हूं, और चेक किए गए राज्य में एक अलग।

ऐसा लगता है कि यह आसान होना चाहिए, लेकिन समाधान (कस्टम नियंत्रण से कम) मुझे दूर कर रहा है।


मैं भी एक शैली पत्रक का उपयोग कर की कोशिश की है, और कार्यों का एक background-image प्रकार के साथ QToolButton:checked लेकिन मैं लेआउट सही नहीं मिल सकता है - यह एक आइकन के साथ के रूप में तैनात नहीं कर रहा है/आकार।

उत्तर

15

उपयोग :: सूचक उप-आइटम का उपयोग करें। नीचे दिया गया कोड मेरे लिए उत्कृष्ट काम करता है ...

QCheckBox::indicator { 
    width: 18px; 
    height: 18px; 
} 

    QCheckBox::indicator:checked 
    { 
    image: url(.../Checkbox_checked_normal.png); 
    } 
    QCheckBox::indicator:unchecked 
    { 
    image: url(.../Checkbox_unchecked_normal.png); 
    } 

    QCheckBox::indicator:checked:hover 
    { 
    image: url(.../Checkbox_checked_hovered.png); 
    } 
    QCheckBox::indicator:unchecked:hover 
    { 
    image: url(.../Checkbox_unchecked_hovered.png); 
    } 
    QCheckBox::indicator:checked:pressed 
    { 
    image: url(.../Checkbox_checked_pressed.png); 
    } 
    QCheckBox::indicator:unchecked:pressed 
    { 
    image: url(.../Checkbox_unchecked_pressed.png); 
    } 
    QCheckBox::indicator:checked:disabled 
    { 
    image: url(.../Checkbox_checked_disabled.png); 
    } 
    QCheckBox::indicator:unchecked:disabled 
    { 
    image: url(.../Checkbox_unchecked_disabled.png); 
    } 
2

इसे स्टाइलशीट के रूप में दर्ज किया जाना चाहिए। डिज़ाइन संपादक के माध्यम से इसे चेक बॉक्स पर राइट क्लिक करके और "स्टाइलशीट बदलें ..." का चयन करके करें।

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