Jelentkezés Telefonon: +36/30-820-1750ONLINE

Hírek

qlistview 예제

Kategória: Uncategorized

또한 모델의 구조변경을 나타내는 많은 수의 신호가 있습니다. 이들은 모두 QAbstractItemModel에서 상속되며 여기에서 검사 할 수 있습니다. 우리는 QAbstractItemModel의 이후 토론에서 그들에 대해 더 많은 이야기 할 것이다, 이는 전부 다른 주제입니다; 현재 예제에서는 그 중 어느 것이 필요하지 않습니다. 목록 및 모델을 만드는 것은 간단한 부분입니다. 목록의 주요 작업은 모델을 만들고 채우는 데 있습니다. 예를 들어 목록에 대한 항목을 만들어 보겠습니다: 이 예제에서는 테이블 셀에 입력된 값을 반복하여 창 제목을 콘텐츠로 자동으로 채우는 응용 프로그램을 빌드합니다. 창 제목에 쉽게 액세스할 수 있도록 QMainWindow에 QTableView를 넣습니다. 모델/뷰 응용 프로그램을 개발하려면 어디서부터 시작해야 합니까? 간단한 예제로 시작하여 단계별로 확장하는 것이 좋습니다. 이렇게 하면 아키텍처를 훨씬 쉽게 이해할 수 있습니다.

IDE를 호출하기 전에 모델/뷰 아키텍처를 자세히 이해하려고 노력하는 것은 많은 개발자에게 덜 편리하다는 것이 입증되었습니다. 데모 데이터가 있는 간단한 모델/보기 응용 프로그램으로 시작하는 것이 훨씬 쉽습니다. 한번 사용해 보세요! 아래 예제의 데이터를 사용자 고유의 데이터로 바꾸기만 하면 됩니다. 어댑터의 또 다른 예는 QCompleter입니다. Qt는 QComboBox 및 아래와 같이 QLineEdit와 같은 Qt 위젯에서 자동 완성을 제공하기위한 QCompleter를 가지고 있습니다. QCompleter는 모델을 데이터 원본으로 사용합니다. 우리의 목록을 꿀 일 목록으로 만들어 봅시다. 구매 및/또는 준비시 항목을 체크아웃하고 작업이 완료되면 창이 닫힙습니다. (나는 이것이 매우 인위적이고 건설 된 예입니다.) 다음 목록은 위에 나열된 처음 세 권에 포함된 예제 프로그램의 개요를 제공합니다. 그들 중 일부는 유사한 응용 프로그램을 개발하기위한 아주 좋은 템플릿을 합니다. 다음은 모델 / 뷰 프로그래밍의 다른 측면을 보여 7 매우 간단하고 독립적 인 응용 프로그램입니다. 소스 코드는 예제/위젯/자습서/modelview 디렉토리 내에서 찾을 수 있습니다.

이 작은 예제에서는 모델의 수동 특성을 보여 줍니다. 모델이 언제 사용될지 또는 어떤 데이터가 필요한지 알 수 없습니다. 뷰가 요청할 때마다 데이터를 제공하기만 하면 됩니다. 지금까지의 모든 예제에서 데이터는 셀의 텍스트 또는 확인란으로 표시되고 텍스트 또는 확인란으로 편집됩니다. 이러한 프레젠테이션 및 편집 서비스를 제공하는 구성 요소를 대리자라고 합니다. 뷰에서 기본 대리자를 사용하기 때문에 대리자 작업을 시작할 뿐입니다. 그러나 다른 편집기 (예 : 슬라이더 또는 드롭 다운 목록)를 원한다고 가정하거나 데이터를 그래픽으로 표시한다고 상상해보십시오. 별이 등급을 표시하는 데 사용되는 Star Delegate라는 예제를 살펴보겠습니다. 이제 분리된 모델을 사용하여 응용 프로그램의 성능에 미치는 영향을 확인해야 하므로 뷰가 data() 메서드를 호출하는 빈도를 추적해 보겠습니다. 뷰가 모델을 호출하는 빈도를 추적하기 위해 오류 출력 스트림에 로그온하는 data() 메서드에 디버그 문을 넣었습니다.

이 작은 예제에서는 data()가 42번 호출됩니다. 필드 위로 커서를 마우스로 가을 때마다 data()가 다시 호출됩니다– 각 셀에 대해 7번. 따라서 data()가 호출되고 비용이 많이 드는 조회 작업이 캐시될 때 데이터를 사용할 수 있는지 확인하는 것이 중요합니다. QListView의 모양에 대한 간단한 예제를 제공할 수 있는 충분한 배경이지만 아직 아무 작업도 수행하지 않습니다. 우리는 우리의 기본 창을 QListView로 만들어 가능한 한 단순화 됩니다. 우리는 모든 QWidget-as-a-window 예제와 동일한 기본 설정을 수행 합니다.