Loading…

qt qlistwidget 예제

전체 예제를 실행하려면 이미지로 가득 찬 디렉토리가 있어야 합니다. 나는 예를 들어 내 리눅스 배포판의 / usr / 공유 / 아이콘 디렉토리에 하나를 사용 : 그게 다야! 구현에 대한 자세한 내용은 이 문서의 시작 부분에 있는 소스 파일에서 찾을 수 있습니다(변형 2). . . 실제 기능은 메서드 setData() 및 data()에서 구현됩니다. setData()에서 먼저 인덱스의 유효성을 확인합니다. Qt::CheckStateRole만 처리하기로 결정했기 때문에 다른 모든 역할에 대해 false를 반환합니다. 사용자가 항목을 체크 하는 경우( 즉, setData() 메서드에 전달 된 값이 Qt:::Checked와 같으면 체크 된 항목 집합에 인덱스를 삽입 합니다. 사용자가 항목을 체크 무산하면 세트에서 항목을 제거합니다.

그런 다음 신호 데이터를 내보내면 변경()을 하고 true를 반환합니다. 지정된 항목에 대한 직렬화된 설명이 포함된 개체를 반환합니다. 항목을 설명하는 데 사용되는 형식은 mimeType() 함수에서 가져옵니다. 이 신호는 마우스 커서가 항목에 들어갈 때 내보사됩니다. 항목은 입력한 항목입니다. 이 신호는 마우스트래킹이 켜져 있거나 항목으로 이동하는 동안 마우스 버튼을 누를 때만 내보내됩니다. . QListWidget을 항목으로 채우는 것은 쉽습니다. 항목이 일반 텍스트인 경우 개별적으로 추가할 수 있습니다: 이 자습서에서는 위젯 목록의 항목을 채웁니다. 선택 모드가 선택 없음이 아니면 항목도 선택됩니다.

이 구현 변형은 QListWidget을 사용하여 원하는 기능을 얻습니다. 헤더 customdialog.h는 아래에서 볼 수 있습니다. 검사 가능한 목록은 QListWidget으로 표시됩니다. 항목을 검사할 수 있도록 하려면 Qt::ItemIsUser 확인할 수 있는 플래그를 추가해야 합니다. 항목을 확인할 때마다 체크한 항목을 노란색으로 강조 표시하는 슬롯 강조 표시()도 트리거됩니다. 이전은 이전에 포커스가 있었던 항목입니다. 현재는 새 현재 항목입니다. 목록 위젯에서 제거된 항목은 Qt에서 관리되지 않으며 수동으로 삭제해야 합니다.

. 현재 선택한 항목을 얻으려면 currentItemChanged 신호에 의해 전달된 인수를 사용하거나 QListWidget의 currentItem 메서드를 사용할 수 있습니다. . 먼저 설치에서 지원하는 이미지 형식을 알아야 하므로 목록 컨트롤을 통해 유효한 이미지를 알 수 있습니다. 우리는 위에서 언급 한 방법을 사용할 수 있습니다 QImageReader().지원이미지 형식(). QListWidget의 생성자는 많은 QWidget-descended 개체의 생성자와 같으며 선택적 부모 인수만 사용합니다. . 이 신호는 항목이 활성화될 때 내보전됩니다.

항목은 사용자가 시스템 구성에 따라 항목을 클릭하거나 두 번 클릭하면 활성화됩니다. 또한 사용자가 활성화 키를 누를 때 활성화됩니다 (Windows 및 X11에서 반환 키, Mac OS X에서는 명령 + O입니다). 이 신호는 현재 항목이 변경될 때마다 내보내지며, 이 신호는 내보내지며, 현재 항목이 변경될 때마다 방출됩니다. 지정된 항목에 대한 편집기 열기입니다. 편집기는 편집 후 열린 상태로 유지됩니다. 우리는 우리가 ListWidget항목을 얻을 후 텍스트와 배경 색의 색상을 설정합니다 : QListWidgetItem * QListWidget ::currentItem () const를 호출하여. 이 문서에서는 Qt에서 검사 가능한 목록을 만드는 방법을 보여 주며, 응용 프로그램은 동시에 선택된 항목을 강조 강조하고 확인된 항목을 파일에 저장합니다. 따라서 ImageFileList를 간단한 창에 넣어 서 우리가 행동으로 볼 수 있습니다. 창 역할을 하는 QWidget을 만들고, QVBoxLayout을 붙이고, 현재 선택한 항목을 표시할 항목 위젯과 함께 ImageFileList를 추가합니다. ImageFileList의 현재항목 변경 신호를 사용하여 동기화된 상태로 유지합니다. . QListWidgetItem, QListView, QTreeView, 모델/보기 프로그래밍 및 탭 대화 상자 예제도 참조하십시오.