I can reproduce this error on my installation. It seems that setCompletionColumn() doesn't set a proper model column on the popup. A solution is to call:
Qt Code:
  1. ((QListView*)cc->popup())->setModelColumn(2);
To copy to clipboard, switch view to plain text mode 
The funny thing is, that it should work without it just fine...

This is the code that gets called:
Qt Code:
  1. void QCompleter::setCompletionColumn(int column)
  2. {
  3. Q_D(QCompleter);
  4. if (d->column == column)
  5. return;
  6. #ifndef QT_NO_LISTVIEW
  7. if (QListView *listView = qobject_cast<QListView *>(d->popup))
  8. listView->setModelColumn(column);
  9. #endif
  10. d->column = column;
  11. d->proxy->invalidate();
  12. }
To copy to clipboard, switch view to plain text mode 
So there are three explanations:
1. popup is not a QListView
2. d->column == column
3. QT_NO_LISTVIEW is defined

First two assumptions are false (popup is a list view and d->column != column) and the third seems very unlikely. So there has to be a fourth explanation - something overrides or doesn't allow to change the model column for the listview.