Hi everyone,

I am totally new to QT(Jambi) and tried to create a simple application with a QListView
that should contain some numbers. Unfortunately only the last number is displayed.
What am I doing wrong?

Here is the code of my two classes:

Qt Code:
  1. import java.util.ArrayList;
  2. import java.util.List;
  3. import com.trolltech.qt.gui.QApplication;
  4. import com.trolltech.qt.gui.QMainWindow;
  5. import com.trolltech.qt.gui.QWidget;
  6.  
  7. public class ListBox extends QMainWindow
  8. {
  9. Ui_MainWindow ui = new Ui_MainWindow();
  10.  
  11. public static void main(String[] args)
  12. {
  13. QApplication.initialize(args);
  14. ListBox gnah = new ListBox();
  15. gnah.show();
  16. QApplication.exec();
  17. }
  18.  
  19. public ListBox()
  20. {
  21. ui.setupUi(this);
  22. initialize();
  23. }
  24.  
  25. public ListBox(QWidget parent)
  26. {
  27. super(parent);
  28. ui.setupUi(this);
  29. initialize();
  30. }
  31.  
  32. private void initialize()
  33. {
  34. List<Integer> data = new ArrayList<Integer>();
  35. data.add(42);
  36. data.add(666);
  37. data.add(1337);
  38.  
  39. ListBoxModel model = new ListBoxModel(data);
  40.  
  41. this.ui.listView.setModel(model);
  42. }
  43. }
To copy to clipboard, switch view to plain text mode 

Qt Code:
  1. import java.util.List;
  2. import com.trolltech.qt.core.QAbstractListModel;
  3. import com.trolltech.qt.core.QModelIndex;
  4. import com.trolltech.qt.core.Qt.ItemDataRole;
  5.  
  6. public class ListBoxModel extends QAbstractListModel
  7. {
  8. private List<Integer> data;
  9.  
  10. public ListBoxModel(List<Integer> data)
  11. {
  12. this.data = data;
  13. }
  14.  
  15. @Override
  16. public Object data(QModelIndex arg0, int arg1)
  17. {
  18. if(arg1 == ItemDataRole.DisplayRole)
  19. {
  20. return data.get(arg0.row());
  21. }
  22. else
  23. {
  24. return null;
  25. }
  26. }
  27.  
  28. @Override
  29. public int rowCount(QModelIndex arg0)
  30. {
  31. return data.size();
  32. }
  33. }
To copy to clipboard, switch view to plain text mode