이 가장 좋은 해결책은 아니지만, 잘 작동합니다 :
는
QListView
을 포함 wizardpage에 속성을 추가하고 selectionModel에 포인터를 반환 할 수 있습니다. 예 : 같은 : ListPage의 생성자에서
class ListPage : public QWizardPage
{
Q_OBJECT
Q_PROPERTY(QItemSelectionModel* selectionModel READ selectionModel)
public:
ListPage(QWidget * parent = NULL);
QItemSelectionModel * selectionModel(void)
{
return listView->selectionModel();
};
private:
QListView *listView;
};
Q_DECLARE_METATYPE(QItemSelectionModel*);
당신은 다음과 같이 qRegisterMetaType
및 registerField
전화를해야 :
ListPage::ListPage(QWidget * parent) : QWizardPage(parent)
{
...
listView = new QListView(this);
listView->setSelectionMode(QAbstractItemView::MultiSelection);
listView->setModel(model);
qRegisterMetaType("QItemSelectionModel*");
registerField("listViewSelection", this, "selectionModel");
...
}
지금 당신이
field("listViewSelection").value<QItemSelectionModel*>()
를 호출하여 마법사 사방에서 선택된 항목에 액세스 할 수 있습니다.
희망 사항입니다.
답변과 훌륭한 설명 + 코드를 보내 주셔서 감사합니다. 코드를 더 적게 말하면 :) 내일 시도해 보겠습니다. – somebody
결국 작동합니까? – Elrohir
죄송합니다. 문서를 작성하는 데 너무 깊이 빠져있었습니다. 아직 실행되지 않았지만 계속 시도 할 것입니다. – somebody