주소록 예제

ListView는 AddressBook 개체에서 제공하는 모델을 데이터 모델로 사용하고 항목 내부의 이름, 성 및 전자 메일 속성을 표시합니다. 사진 처리기를 사용하면 개발자가 연락처 사진을 로드하거나 저장할 때 연락처 편집기의 동작을 사용자 지정할 수 있습니다. 예를 들어 주소록 구현 내의 카드가 데이터베이스 내에 연락처 사진을 저장해야 하는 경우에 유용합니다. 주소록 관리자를 사용하여 nsISimpleEnumerator를 구한 다음 열거자를 통해 nsIAbItem, nsIAbCollection 또는 nsIAbDirectory 인터페이스를 원하는 대로 찾습니다. 주소록을 두 개 이상 보관할 수 있습니다. 괜찮아요. 모든 것을 정기적으로 백업하십시오. 모든 연락처를 보관할 단일 파일을 만드는 것이 훨씬 쉽습니다. writeToFile() 함수는 주소록에 있는 모든 연락처를 포함하는 파일을 저장하는 데 사용됩니다. 파일은 사용자 지정 .dat 형식으로 저장됩니다. 연락처 목록의 내용은 QDataStream을 사용하여 파일에 기록됩니다. 파일을 열 수 없는 경우 관련 오류 메시지와 함께 QMessageBox가 표시됩니다. 주소록은 URI에 의해 고유하게 식별됩니다.

이것은 nsIAbDirectory.URI를 통해 얻을 수 있습니다. 코드는 다양한 장소(예: 환경 설정, 주소록 트리 등)에 URI를 저장합니다. URI가 있다고 가정하면 주소록 관리자를 사용하여 주소록을 나타내는 nsIAbDirectory를 얻습니다: 특정 이메일 주소가 있는 카드를 검색하는 경우 여러 이메일과 일치하는 cardForEmailAddress 함수를 사용할 수 있습니다. 주소가 하나의 카드에 저장됩니다. 이 함수는 컬렉션에서 찾은 첫 번째 일치 집합 또는 null을 반환합니다. TableModel의 마지막 함수인 getContacts()는 주소록의 모든 연락처를 포함하는 QVector 개체를 반환합니다. 나중에 이 함수를 사용하여 연락처 목록을 사용하여 기존 항목을 확인하고, 파일에 연락처를 작성하고, 다시 읽습니다. 추가 설명은 주소위젯과 함께 제공됩니다. 모든 동작의 신호를 해당 슬롯에 연결하는 것 외에도 AddressWidget의 선택변경() 신호를 업데이트작업() 슬롯에 연결합니다. 주소록 템플릿은 정말 매우 유용합니다. 그들은 구식 보일 수 있습니다., 하지만 그들은 필수적. 즉, 연락처 정보를 안전하게 유지하려는 경우입니다.

이제 이러한 템플릿을 만들고 효율적으로 사용하는 것에 대해 모두 알고 있습니다. 자바 스크립트에서 구현하는 경우 위에서 언급 한 전체 인터페이스를 구현해야합니다. 현재 가장 좋은 예는 EDS 연락처 통합 추가 기능입니다. 테이블 모델을 편집할 수 있도록 하려면 Qt:::ItemIsItitable 플래그를 설정합니다. 이 예제에서는 QTableView 개체의 편집 기능을 사용하지 않지만 다른 프로그램에서 모델을 다시 사용할 수 있도록 여기에서 사용할 수 있습니다.