2009-11-14 9 views
9

क्या QTableView कक्षों की पैडिंग को परिभाषित करना संभव है? मैं सीएसएस स्टाइलशीट का उपयोग करके यह संभव होने की उम्मीद करता हूं, लेकिन दस्तावेज ऐसा करने के लिए एक विधि का वर्णन नहीं करता है।सीएसएस के माध्यम से QTableView कक्षों की पैडिंग कैसे सेट करें?

QTableView { 
    padding: 5px; 
} 

के रूप में यह अलग-अलग कक्षों की नहीं, एक पूरे के रूप विजेट की गद्दी संपत्ति प्रभावित करती है:

निम्नलिखित स्टाइलशीट वांछित प्रभाव नहीं है।

QTableView::item 
{ 
    border: 0px; 
    padding: 5px; 
} 

ध्यान दें कि यहां सीमा संपत्ति की स्थापना इस काम करने के लिए प्राप्त करने के लिए आवश्यक है:

उत्तर

6

मुझे पता है कि यह एक पुराना सवाल है लेकिन मैं हाल ही में इसके साथ संघर्ष कर रहा हूं।

मैं

tableView->verticalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);

गद्दी भी है, तो ऊपर और सेल की तह तक लागू कर दिया जाएगा अपने सीएसएस में सेट की स्थापना करके कि पता चला!

+0

उत्तर देने के लिए बहुत धन्यवाद! –

+2

ध्यान दें कि यह उत्तर QT 5.0 के लिए उपलब्ध है, न कि संस्करण 4.x के लिए – Frodon

11

मैं इसे इस रूप में ::item उप नियंत्रण विनिर्देशक का उपयोग कर काम करने के लिए पाने में कामयाब रहे। साथ ही, यह सुपर आदर्श नहीं है, क्योंकि यह केवल QTableView सेल के बाएं और दाएं पैडिंग को प्रभावित करता है। हालांकि मैं इसके साथ अभी भी रह सकता हूं।

+2

क्या कोई जानता है कि 'सीमा: 0px;' क्यों यह काम करने के लिए आवश्यक है? – Krsna

+1

[क्यूटी स्टाइल शीट संदर्भ पृष्ठ] (http://doc.qt.nokia.com/4.7- स्नैपशॉट/स्टाइलशीट-reference.html) QTableView नोट्स के लिए प्रविष्टि: 'चेतावनी: यदि आप केवल पृष्ठभूमि-रंग सेट करते हैं QTableCorner बटन पर, पृष्ठभूमि तब तक प्रकट नहीं हो सकती जब तक कि आप सीमा मान को कुछ मान पर सेट न करें। इसका कारण यह है कि, डिफ़ॉल्ट रूप से, QTableCornerButton एक देशी सीमा खींचता है जो पूरी तरह से पृष्ठभूमि रंग को ओवरलैप करता है। 'यह संभव है कि पैडिंग के लिए एक ही तरह की आवश्यकता लागू होती है। –

+1

मेरे लिए काम नहीं करता है। हर बार जब मैं किसी अन्य सेल पर क्लिक करता हूं तो पाठ अदृश्य होता है क्योंकि उस पर एक सफेद आयताकार खींचा जाता है। – Trilarion

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