デフォルトでくるポップアップがクリックするだけで返す必要があるとき、これはQAbstractItemView
から継承する任意のオブジェクトを変更することができ、そしてそれはsetView()
メソッドを使用するため、この場合にQTableView
が使用され、その結果、QListView
です選択した行の項目を選択した後に表示する列を設定するには、列の位置を示すsetModelColumn()
というメソッドを使用しますが、その前に、モデルsetModel()
を使用してQComboBoxに設定されます。
# my model
model = new QSqlTableModel;
model->setTable("person");
model->select();
# setModel
comboBox->setModel(model);
# select column
comboBox->setModelColumn(1);
QTableView *view = new QTableView(this);
comboBox->setView(view);
注:モデルはQComboBoxに、ではないQTableViewに設定されています。また、あなたはQTableViewの幅に問題がある可能性があり、私たちは、サイズを変更しなければならない、私の場合には、以下を使用します。
view->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
view->setMinimumWidth(500);
完全な例では、あなたの作成した方がよいでしょう以下link
で見つけることができます仕事のこの種を行うための独自のウィジェット、にQLineEditが(コンボボックスのように)いくつかの矢印ダウンのアイコンとアクションを追加し、アクションにあなたのQTableViewまたはあなたがポップアップする他のウィジェットを含むQFrameをポップアップトリガーの作成、 – Simon