qt dialog 예제

ColorNameForm 대화 상자는 기본 양식에서 호출됩니다. 호출자는 먼저 Qt의 정적 “색상 선택” 대화 상자 중 하나를 호출하고 사용자가 색상을 선택하면 사용자 지정 대화 상자가 호출됩니다. “색상 선택” 대화 상자를 사용 하 여 적절 한 헤더 파일이 필요 합니다. 또한 대화 상자의 colorLabel(선택한 색상으로 설정)과 대화 상자의 줄 편집(색상 이름을 검색하기 위해)에 액세스하므로 이러한 헤더에도 적절한 헤더가 필요합니다. 클래스의 개인 섹션에서는 두 개의 슬롯을 선언합니다. 슬롯을 구현하려면 대화의 자식 위젯 대부분에 액세스해야 하므로 포인터도 유지합니다. 슬롯 키워드는 신호와 마찬가지로 C++ 컴파일러가 소화할 수 있는 구문으로 확장되는 매크로입니다. 찾기 대화 상자의 경우 그림 2.2와 같이 두 개의 QHBoxLayouts와 두 개의 QVBoxLayouts를 사용합니다. 외부 레이아웃은 기본 레이아웃입니다. 35호선의 FindDialog에 설치되며 대화 상자의 전체 영역을 담당합니다. 나머지 세 가지 레이아웃은 하위 레이아웃입니다. 그림 2.2의 오른쪽 하단에 있는 작은 “스프링”은 스페이서 항목(또는 “스트레치”)입니다. 찾기 및 닫기 단추 아래의 빈 공간을 사용하여 이러한 버튼이 레이아웃의 맨 위를 차지하도록 합니다.

표준 대화 상자 예제에서는 Qt에서 제공하는 표준 대화 상자를 보여 주며 있습니다. 다른 방법은 setModal(true) 또는 setWindowModality()를 호출한 다음 show()를 호출하는 것입니다. exec()과 달리 show()는 즉시 호출자에게 컨트롤을 반환합니다. setModal(true)을 호출하는 것은 사용자가 대화 상자와 상호 작용할 수 있어야 하는 진행률 대화 상자에 특히 유용합니다(예: 장기 실행 중인 작업을 취소하는 경우). show() 및 setModal(true)을 함께 사용하여 긴 작업을 수행하는 경우 사용자가 대화 상자와 상호 작용할 수 있도록 처리 중에 주기적으로 QApplication::processEvents()를 호출해야 합니다. (QProgressDialog 를 참조하십시오.) 옵션 대화 상자는 전통적인 대화 상자입니다: 호출자는 그것을 만들고, 위젯을 설정하고, 사용자가 확인을 클릭하면, 호출자는 양식의 위젯에서 데이터를 읽고 그에 따라 행동합니다. 확인 및 취소 단추를 연결하기만 하면 됩니다. 쓸 코드가 전혀 없습니다. 응용 프로그램은 기본적으로 완료됩니다.

우리는로드 하고 색상 파일을 저장할 수 있습니다, 우리는 테이블이나 아이콘보기에 표시 할 수 있으며, 사용자는 색상을 추가하고 삭제할 수 있습니다. 그러나 사용자가 수백 또는 수천 개의 색상의 색상 파일을 가지고 있다면 특정 색상을 찾기 위해 스크롤하는 것은 지루할 것입니다.