2012-05-21 2 views
0

У меня есть табличка (модель) с 5 колонками. В одном из них я хочу показать 2 варианта в combobox. Параметры предопределены, поэтому я считаю, что использование делегата не требуется. Я ошибаюсь?Как создать qcombobox в tableview в Java?

for (int state=0; state <3; state++) 
{ 
    QStandardItem item = new QStandardItem(); 
    item.setEditable(false); 
    item.setTextAlignment(Qt.AlignmentFlag.AlignCenter); 

    switch (state) 
    { 
     case 0: 
      item.setText("Column 0"); 
      item.setEditable(true); 
      break; 
     case 1: 
      item.setText("Column 1"); 
      item.setEditable(true); 
      break; 
     case 2: 
      //create a new combobox 
      break; 
    } 
} 

ответ

0

Я думаю, вам нужно (или, по крайней мере, вам) использовать делегата. Делегат - это объект, который соединяет представление (представление таблицы в основном представляет собой макет и извлекает его содержимое через делегат модели +) с моделью. Модель не (она не должна) отвечать за то, как будет представлена ​​ее контент. Это роль делегата - он преобразует данные (модель) в презентабельный объект, когда представление запрашивает его. Модель не может (и не должна) объявлять представление для своих данных.

Смежные вопросы