qmenu 예제

일반적으로 각 메뉴 동작의 트리거() 신호를 자체 사용자 지정 슬롯에 연결하지만, 예를 들어 « 왼쪽 정당화 », « 중심 », « 오른쪽 정당화 »와 같이 밀접하게 관련된 작업 그룹이 있는 경우 여러 작업을 단일 슬롯에 연결하려는 경우가 있습니다. « . C++ Qt5 자습서의 이 부분 의 끝에서 응용 프로그램 스켈레톤을 만듭니다. 이 예제는 주로 QMainWindow 위젯을 기반으로 합니다. 이러한 이벤트가 발생할 때마다 잘라내기, 복사 및 붙여넣기 작업이 포함된 메뉴를 만듭니다. 컨텍스트 메뉴는 popup() 함수를 사용하여 비동기적으로 실행하거나 exec() 함수를 사용하여 동기적으로 실행할 수 있습니다. 이 예제에서는 exec() 함수를 사용하여 메뉴를 표시하도록 선택했습니다. 이벤트의 위치를 인수로 전달하면 컨텍스트 메뉴가 예상위치에 표시되도록 합니다. 이 예제에서는 먼저 최상위 창의 QMenuBar 개체(QMainWindow 개체여야 합니다)에 대한 모든 참조가 저장됩니다.

대부분의 경우 현재 마우스 위치와 같은 위치를 직접 지정할 수 있습니다. 메뉴 예제는 QMainWindow 클래스에서 파생된 하나의 단일 클래스인 MainWindow로 구성됩니다. 응용 프로그램에서 작업 항목 중 하나를 선택하면 중앙 위젯에 항목의 경로가 표시됩니다. 자세한 내용은 이 Qt 예제 : https://doc.qt.io/qt-5/qtwidgets-mainwindows-menus-example.html 및 QMenuBar 참조 https://doc.qt.io/qt-5/qmenubar.html#details 이 예제에서는 풀다운 메뉴를 구현하는 방법을 살펴봅니다. 컨텍스트 메뉴뿐만 아니라. 사용자 지정 컨텍스트 메뉴를 구현 하려면 QWidget의 contextMenuEvent() 함수를 다시 구현 해야 우리의 기본 창에 대 한 컨텍스트 메뉴 이벤트를 받을 수 있습니다. 메뉴가 화면에 맞지 않으면 맞도록 배치됩니다. 레이아웃의 의미에 따라 스타일에 따라 달라집니다(예: Windows에서는 여러 열을 사용합니다). 다음 예제에서는 이전 응용 프로그램을 더욱 향상시킵니다. 우리는 메뉴에 아이콘을 추가, 바로 가기와 구분 기호를 사용합니다. 다음 예제에서는 검사 가능한 메뉴를 만듭니다. 이 작업은 확인란이 있는 작업입니다.

이 옵션은 상태 표시줄의 가시성을 전환합니다. 이 예제에서는 세 가지 동작이 있는 하나의 메뉴가 있습니다. 종료 작업만 실제로 우리가 그것을 선택 하는 경우 뭔가 할 것 이다. 또한 응용 프로그램을 종료하는 구분 기호및 CTRL+Q 바로 가기를 만듭니다. . 모든 작업이 생성될 때 createMenus() 함수를 사용하여 메뉴에 작업을 추가하고 메뉴를 메뉴 모음에 삽입합니다: QMainWindow는 메뉴 모음, 도구 모음, 도크 위젯 및 큰 중앙 wi. 주위에 있는 상태 표시줄이 있는 기본 응용 프로그램 창을 제공합니다. dget.

. 메뉴는 작업 항목 목록으로 구성됩니다. 응용 프로그램에서는 메뉴, 도구 모음 단추 및 키보드 단축키를 통해 많은 일반적인 명령을 호출할 수 있습니다. 사용자는 사용되는 사용자 인터페이스에 관계없이 동일한 방식으로 명령을 수행할 것으로 예상하므로 각 명령을 작업으로 나타내는 것이 유용합니다. . 이렇게 하면 작동할 기본 작업이 설정됩니다. 기본 작업에는 현재 QStyle에 따라 시각적 신호가 있을 수 있습니다. 기본 작업은 일반적으로 드롭이 발생할 때 기본적으로 발생하는 작업을 나타냅니다.

이 편의 함수는 새 섹션 작업, 즉 QAction::isSeparator() true를 반환하지만 텍스트 및 아이콘 힌트를 갖는 작업과 같은 새 섹션 작업을 만들고 이 메뉴의 작업 목록에 새 작업을 추가합니다. 새로 만든 작업을 반환합니다. . . . QMenu 클래스는 메뉴 모음, 컨텍스트 메뉴 및 기타 팝업 메뉴에 사용할 수 있는 메뉴 위젯을 제공하며 QAction 클래스는 위젯에 삽입할 수 있는 추상사용자 인터페이스 작업을 제공합니다. . 또는 QMenu 클래스는 지정된 텍스트 및/또는 아이콘에서 새 작업을 만들고 추가하는 몇 가지 addAction() 편의 함수를 제공합니다. 새 작업의 트리거() 신호에 자동으로 연결되는 멤버와 QKeySequence 인스턴스로 표시되는 바로 가기를 제공할 수도 있습니다. 기본적으로 아이콘이 명시적으로 설정되지 않은 경우 이 속성에는 null 아이콘이 포함됩니다.