2016-06-14 2 views
0

내 listview 모델에서 선택한 행의 배경색을 설정하고 싶습니다. 다른 행을 선택하면 이전 행의 색이 투명하게됩니다. 감사합니다.Qt, QListView 모델

+0

가능한 경우 대리인을 확인해야합니다 (http : //doc.qt.io/qt-5/qitemdelegate.html#paint). 정확한 질문이나 SSCCE/스크린 샷이없는 무언가를 말하는 것은 어렵습니다. –

+0

아직 최종 '데이터'및 'setData'구현이 표시되지 않습니다. –

+0

데이터 및 setData에 대한 구현이 없습니다 – paulc

답변

0

보기의 selection model을 선택해야합니다. 선택이 수정되면 모델에 데이터를 설정할 수 있습니다. 예를 들면 다음과 같습니다. model->setData(selectedIndex, QBrush(Qt::red), Qt::BackgroundColorRole);

하나의 모델을 여러보기에 할당 할 수 있습니다. 깊은 이해를 위해서 나는 model-view programming in qt에 대해 읽어 보시기 바랍니다.

+0

auto sel = lst-> selectionModel() -> selectedIndexes(); QModelIndex firstSel = sel.at (0); Mymodel() -> setData (firstSel, QBrush (Qt :: yellow), Qt :: BackgroundColorRole); 작동하지 않습니다 – paulc

+0

@paulc 귀하의'Mymodel()'무엇입니까? SSCCE 또는'setData' 구현물을 보여줍니다. 모델의 기본 클래스는 무엇입니까? –

+0

@paulc이 댓글에 없습니다. - http://stackoverflow.com/help/how-to-ask –