2013-01-01 33 views
14

मैं अनिवार्य रूप से दोहराने के लिए देख रहा हूँ इस:छवि कंबल ब्राउज़र (टाइल्स प्रदर्शित करने) को लागू करने के लिए उपयोग करने के लिए कौन सा क्यूटी विजेट?

enter image description here

मेरी कस्टम छवि + सबस्क्रिप्ट युक्त विगेट्स प्रदर्शित करने के लिए सबसे उपयुक्त क्यूटी कंटेनर विजेट क्या है? मैं QTableView देख रहा हूं और ऐसा लगता है कि पंक्तियों/स्तंभों की एक निश्चित संख्या है, जबकि मैं अपने प्रोग्राम को विंडो चौड़ाई (ताकि कोई क्षैतिज स्क्रॉल न हो) के आधार पर लेआउट बदलना चाहें, और नया विजेट जोड़ना चाहिए addWidget(QWidget * w) के साथ किया जाना चाहिए, setWidget(int row, int column, QWidget * w) नहीं। QTableView से इसके लिए कोई बेहतर घटक है (जिसके लिए मेरे कार्य के लिए बहुत कोडिंग की आवश्यकता है)?

+0

मुझे आश्चर्य है कि क्या आपको कोई समाधान मिला है जो आपको वास्तव में वस्तुओं के लिए कस्टम विजेट का उपयोग करने की अनुमति देता है? – Curtwagner1984

उत्तर

36

आप QListWidget (या QListView और उपवर्ग QAbstractItemModel) का उपयोग करना चाहिए और सेट IconMode करने के लिए इसे दृश्य मोड है।

उदाहरण:

m_listeWidget->setViewMode(QListWidget::IconMode); 

m_listeWidget->setIconSize(QSize(200,200)); 

m_listeWidget->setResizeMode(QListWidget::Adjust); 

m_listeWidget->addItem(new QListWidgetItem(QIcon("../earth.jpg"),"Earth")); 
m_listeWidget->addItem(new QListWidgetItem(QIcon("../tornado.jpg"),"Tornado")); 
m_listeWidget->addItem(new QListWidgetItem(QIcon("../ics.jpg"),"Wallpaper")); 

परिणाम:

enter image description here

+0

वह वास्तव में काम करता है। मैं सूची आइटम के रूप में अपने स्वयं के विजेट का उपयोग करना चाहता था, लेकिन किसी भी कामकाजी समाधान किसी भी गैर-कामकाजी से बेहतर है, मुझे लगता है :) –

+0

महान समाधान ... – Goddard

1

निश्चित रूप से QTableView, itemDelegate हर ब्लॉक पेश करने के लिए कस्टम का उपयोग करना, छवि प्रदर्शित करने के लिए कस्टम विजेट लागू करता है और टेक्स्ट शीर्षक

+0

QTableWidget/QListWidget नहीं है? मैं वर्तमान में QListWidget की कोशिश कर रहा हूं लेकिन यह मेरे विजेट को बिल्कुल प्रदर्शित करने में परेशानी का लाभ उठा रहा है। QTableView का अर्थ होगा कि मुझे कॉलम की संख्या को उचित रूप से बदलने के लिए मैन्युअल रूप से आकार बदलना होगा, बहुत अधिक काम लगता है। इसके अलावा, मुझे एक प्रतिनिधि की आवश्यकता क्यों है? मैं बस इतना करना चाहता हूं कि स्थिर तस्वीर + टेक्स्ट विगेट्स प्रदर्शित करें, क्या इसे हासिल करने का कोई आसान तरीका नहीं है? –

+0

QTableView का लाभ डेटा मॉडल और आइटमविड्ज को संभालने के लिए स्वतंत्र है, इसलिए डेटामैडेल और आइटम डिलीगेट क्लास के अपने कस्टम उपकरण को एनडी करें। ऐसा करने के लिए बहुत काम लगता है, लेकिन आपको अधिक सुविधा मिलती है। आइटम डिलीगेट का उपयोग करके, आप आसान कस्टम ब्राउज़र सिटल और शीर्षक शैली, और इसी तरह से कर सकते हैं। मैंने यह ऐप अपने ऐप में किया था। – yodabox