- All (478)
- jom (0)
- Qt Linguist (7)
- Qt Eclipse Integration (9)
- Qt Designer (7)
- Qt Creator (4)
- Qt build system: qmake (31)
- Qt build system: configure (3)
- Qt Assistant (5)
- Printing (4)
- Porting from Qt 3 to Qt 4 (1)
- Plugins (7)
- Qt Visual Studio AddIn (2)
- Qt/MFC Migration (2)
- QtScript (3)
- MDI (2)
- XML (1)
- Widgets (22)
- WebKit (5)
- Tools and Containers (2)
- Threads (2)
- Text Handling (10)
- SQL (6)
- QtTest (1)
- QtService (1)
- Platform: Windows (49)
- Platform: Unix (16)
- Platform: Mac OS X (18)
- Image Formats (2)
- I/O (2)
- Graphicsview (8)
- Font handling (9)
- Event System (18)
- Drag and Drop (4)
- Dialogs (6)
- Desktop integration (3)
- ActiveQt (3)
- Itemviews (60)
- Layout (4)
- Qt Quick (10)
- Qt SDK (1)
- Licensing (2)
- Platform: Embedded Linux (38)
- Painting (32)
- OpenGL (4)
- Object Model (6)
- Network (5)
- Multimedia (3)
- Miscellanous (23)
- Main Window (19)
- Look and Feel (23)
- Development (0)
- Getting Involved (0)
- Routines (0)
When 2 views share the same model, how can the views get different values for some of the Qt::ItemDataRole roles?
The model does not have any information about the views, so your item delegate will have to handle this. If you want one of your views to have icons and not the other one, then you can reimplement QItemDelegate::drawDecoration() [qt.nokia.com] and set the delegate on that view, e.g:
- #include <QtGui>
- {
- public:
- {
- }
- {
- }
- };
- int main(int argc, char **argv)
- {
- QWidget widget;
- tableView->setItemDelegate(new ItemDelegate());
- model->insertRows(0, 4);
- model->insertColumns(0, 4);
- for (int row = 0; row < 4; row++) {
- for (int col = 0; col < 4; col++) {
- }
- }
- secondtableView->setModel(model);
- tableView->setModel(model);
- layout->addWidget(tableView);
- layout->addWidget(secondtableView);
- widget.show();
- return app.exec();
- }
Alternatively, you can reimplement QItemDelegate::paint() [qt.nokia.com] and draw the pixmap and the other details there.

No comments