모델을 사용하여 사용자 지정 데이터를 저장하려고합니다. 이를 위해 서브 클래 싱을 위해 선택할 항목 모델로 다소 혼란 스럽습니다. 서브 클래 싱을위한 가장 좋은 모델은 몇 가지 설명이 필요합니까? 또한 QStandardItemModel에 비해 QAbstractItemModel의 장점이 필요합니까?QStandardItemModel에 비해 QAbstractItemModel의 장점은 무엇입니까?
감사합니다.
모델을 사용하여 사용자 지정 데이터를 저장하려고합니다. 이를 위해 서브 클래 싱을 위해 선택할 항목 모델로 다소 혼란 스럽습니다. 서브 클래 싱을위한 가장 좋은 모델은 몇 가지 설명이 필요합니까? 또한 QStandardItemModel에 비해 QAbstractItemModel의 장점이 필요합니까?QStandardItemModel에 비해 QAbstractItemModel의 장점은 무엇입니까?
감사합니다.
귀하의 필요에 따라 다릅니다. 사용자 지정 데이터를 저장하려는 경우에만 자신의 모델 논리를 쓰지 않으려면 QStandardItemModel
을 사용하십시오. 이 클래스는 일반적이므로 서브 클래 싱없이 사용자 정의 데이터에 사용할 수 있습니다.
다른 방법으로, 자신의 모델 논리를 작성하려면 QAbstractItemModel
을 선택하십시오. 추상 클래스입니다. 즉, 구현 된 동작이 없으며 단지 '인터페이스'입니다. 모델이 구현해야하는 메소드를 알려줌으로써 Qt의 다른 ItemModel 클래스로 사용할 수 있습니다.
감사합니다 kousalik! 다른 주요 차이점은 무엇입니까? – Dev
아니요, QStandardItemModel은 QAbstractItemModel – Kousalik
의 구현 (하위 클래스)입니다. @Kousalik은 '모델 논리'가 의미하는 바를 확장 할 수 있습니까? QStandardItemModel이 구현하는 특정 모델 논리는 무엇이며, 이는 AbstractItemModel에 의해 수행되지 않는가? 예를 들어, 모델을 편집 가능하게하려면 StandardItemModel을 사용하면 더 쉬울까요? QAbstractItemModel을 사용하고 QStandardItemModel으로 전환해야하는 이유에 대해 생각하고 있기 때문에 궁금합니다. – neuronet