본문 바로가기
Python

[PyQt6] Menu in QML

by llHoYall 2022. 11. 10.

이번에는 메뉴 기능에 대해 다뤄보겠습니다.

기본 application 작성은 이전 포스팅을 참고해주세요.

2022.11.03 - [Python] - [PyQt6] Getting Started with QtQuick

Create Menu

// main.qml

import QtQuick
import QtQuick.Layouts
import QtQuick.Controls
import QtQuick.Controls.Material

ApplicationWindow {
  visible: true
  width: 640
  height: 480
  title: "Example App"

  Material.theme: Material.Dark
  Material.accent: Material.Orange
  Material.primary: Material.Orange

  Button {
    text: "Menu"
    onClicked: idMenu.open()
  }

  Label {
    anchors.centerIn: parent
    id: idLabel
    font.pixelSize: 36
  }

  Menu {
    id: idMenu
    MenuItem {
      text: "Menu 1"
      onTriggered: idLabel.text = "Selected Menu 1"
    }
    MenuItem {
      text: "Menu 2"
      onTriggered: idLabel.text = "Selected Menu 2"
    }
    MenuItem {
      text: "Menu 3"
      onTriggered: idLabel.text = "Selected Menu 3"
    }
  }
}

Menu를 open하기 위해 Button을 하나 만들고, 메뉴 동작 확인을 하기 위해 Label을 만들었습니다.

Menu에는 3개의 MenuItem을 놓고, 각각을 선택하면 Label의 글자를 변경하도록 했습니다.

메뉴를 선택하면 잘 표시되고, 선택하면 동작도 잘 됩니다. ^^

Wrap Up

생각보다 훨씬 간단하죠?

복잡한 예제로 화려하게 설명을 하면 오히려 더 이해하기 힘들고 난해해서, 전 이런 방식이 훨씬 좋더라고요.

QtQuick은 사용자 층도 얕고 커뮤니티도 크게 활성화되어 있지 않은 것 같아서 자료 찾기가 힘든데 도움이 되셨길 바랍니다.

'Python' 카테고리의 다른 글

[PyQt6] Drawer in QML  (0) 2022.11.18
[PyQt6] QML file in QML file  (0) 2022.11.14
[PyQt6] QML에서 Tool Bar 만들기  (0) 2022.11.06
[PyQt6] Action in QML  (0) 2022.11.06
[PyQt6] Shortcut in QML  (0) 2022.11.05

댓글