2012-11-09 11 views
8

क्या कोई तरीका है कि मैं वस्तुओं की ऊंचाई बढ़ा सकता हूं, जो QComboBox नियंत्रण में सूचीबद्ध हैं?QComboBox सार तत्व ItemView :: आइटम

मैं के रूप में यहाँ in QTDevNet forums सुझाव दिया निम्नलिखित की कोशिश की, लेकिन कोई किस्मत

QComboBox QAbstractItemView::item {margin-top: 3px;} 

साथ मैं भी इस की कोशिश की, अभी भी कोई परिणाम के साथ।

QComboBox QAbstractItemView::item {min-height: 20px;} 

क्या स्टाइल शीट स्तर पर इसे हासिल करना संभव है?

उत्तर

26

आपकी स्टाइल शीट सही लग रही थी, इसलिए मैंने कोशिश की। ऐसा लगता है समस्या this one on Qt centre के समान है:

QCompleter एक कस्टम QAbstractItemDelegate सेट यह मॉडल है और दुर्भाग्य से इस कस्टम आइटम प्रतिनिधि QStyledItemDelegate लेकिन बस QItemDelegate वारिस नहीं है (और फिर paintmethod चयनित राज्य को दिखाने के लिए ओवरराइड करता है) पर।

आप एक QStyledItemDelegate द्वारा चूक प्रतिनिधि की जगह है, तो अपने शैली पत्रक काम करना चाहिए:

QStyledItemDelegate* itemDelegate = new QStyledItemDelegate(); 
combo->setItemDelegate(itemDelegate); 
+0

लगता है कि यह मेरी आवश्यकता को लागू करने का सबसे दर्दनाक तरीका है, धन्यवाद – warunanc

+0

मेरे लिए, यह अभी भी काम नहीं करता है। मैंने जो कहा वह मैंने किया, और उसी शैली का उपयोग करने की कोशिश की, और यह काम नहीं करता है। उसी तरह रहता है। – darkgaze

+0

@darkgaze जैसे किसी भी व्यक्ति के लिए इस समाधान का उपयोग करने के बाद भी कोई समस्या है, स्टाइल शीट के भीतर अपने चयनकर्ता के रूप में 'QComboBox :: item' का उपयोग करने का प्रयास करें। उस उत्तरदाता के साथ यह जवाब मेरे लिए काम करता था। – MildWolfie

1

एक वैकल्पिक solution होगा:

ui->comboBox->model()->setData(ui->comboBox->model()->index(-row-, 0), QSize(-width-, -height-), Qt::SizeHintRole);

, जहां -row- शून्य है आधारित आइटम सूचकांक; -width- और -height- क्रमशः आइटम चौड़ाई संकेत और ऊंचाई संकेत के लिए खड़े हैं।

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