Skip to content
toylee blog · 컴퓨터, 프로그램 정보 공유

toylee blog · 컴퓨터, 프로그램 정보 공유

Pyqt6 QML GUI 사용

toylee, 2023년 05월 24일

Python PyQt6와 QML을 소개하고자 합니다. PyQt6는 파이썬과 Qt 프레임워크를 결합한 강력한 도구로, 사용자 인터페이스(UI)를 만들 수 있습니다. QML은 Qt Meta-Object Language의 약자로, PyQt6에서 사용되는 선언적 언어입니다. QML을 사용하면 사용자 인터페이스를 직관적으로 설계하고 구현할 수 있습니다. 아무래도 사용시 가볍다는 것이 큰 장점 입니다. Pyqt6 QML GUI 사용 및 예제를 같이 알아보겠습니다.

[목차]

  • 1. Pyqt6 QML GUI 사용 세팅
  • 2. Pyqt6 QML GUI 사용 예제
  • 3. 결론 및 의견

1. Pyqt6 QML GUI 사용 세팅

이제 간단한 PyQt6 QML 코드를 작성해보겠습니다. 먼저, main.qml 파일을 생성하고 다음 코드를 작성합니다.

파일명 : main.qml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import QtQuick 2.15
import QtQuick.Controls 2.15
 
ApplicationWindow {
    visible: true
    width: 400
    height: 300
    title: “Hello, QML!”
 
    Column {
        anchors.centerIn: parent
        spacing: 10
 
        Label {
            text: “Welcome to PyQt6 QML”
            font.pixelSize: 20
        }
 
        Button {
            text: “Click Me”
            onClicked: {
                console.log(“Button clicked!”)
            }
        }
    }
}
 
Colored by Color Scripter
cs

파일명 : main.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import sys
from PyQt6.QtGui import QGuiApplication
from PyQt6.QtQml import QQmlApplicationEngine
 
if __name__ == “__main__”:
    app = QGuiApplication(sys.argv)
    engine = QQmlApplicationEngine()
 
    # QML 파일 로드
    engine.load(“main.qml”)
 
    if not engine.rootObjects():
        sys.exit(–1)
 
    sys.exit(app.exec())
 
Colored by Color Scripter
cs

[실행화면]

Pyqt6 QML

PyQt6 모듈을 임포트하고, QGuiApplication 및 QQmlApplicationEngine 클래스를 사용하여 애플리케이션을 초기화하고 QML 엔진을 생성합니다. 그런 다음, engine.load(“main.qml”)을 통해 main.qml 파일을 로드합니다. 로드가 성공적으로 이루어지면 engine.rootObjects()가 비어 있지 않으므로 애플리케이션을 실행하고, 실패한 경우에는 -1로 종료합니다.

QML 코드가 실행되어 창이 표시되며, 버튼을 클릭하면 콘솔에 “Button clicked!” 메시지가 출력됩니다. 주의할 점은 QML 파일(main.qml)의 경로를 올바르게 설정해야 한다는 것입니다.

이렇게 파이썬 코드를 사용하여 PyQt6로 QML 코드를 실행할 수 있습니다.

2. Pyqt6 QML GUI 사용 예제

PyQt6 QML을 활용하여 버튼, 레이블, 콤보박스 및 여러 위젯을 적용한 예시 프로그램 코드입니다. 이 예시에서는 버튼을 클릭하면 콤보박스에 선택된 항목의 텍스트를 레이블에 표시하는 동작을 구현하였습니다. 코드를 실행하면 PyQt6 애플리케이션 창이 열리고 사용자 인터페이스가 표시됩니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import QtQuick 2.15
import QtQuick.Controls 2.15
 
ApplicationWindow {
    visible: true
    width: 400
    height: 300
    title: “Widget Application”
 
    Row {
        anchors.centerIn: parent
        spacing: 10
 
        Column {
            spacing: 10
 
            Label {
                text: “Select an item:”
            }
 
            ComboBox {
                id: comboBox
                model: [“Item 1”, “Item 2”, “Item 3”]
                currentIndex: 0
            }
        }
 
        Button {
            text: “Display”
            onClicked: {
                label.text = “Selected item: “ + comboBox.currentText
            }
        }
    }
 
    Label {
        id: label
        anchors.centerIn: parent
        font.pixelSize: 16
    }
}
 
Colored by Color Scripter
cs

[실행화면]

버튼, 레이블, 콤보박스 등 다양한 위젯을 사용하여 UI를 구성하고 있습니다. 사용자는 콤보박스에서 항목을 선택하고, “Display” 버튼을 클릭하면 선택한 항목이 레이블에 표시됩니다.

3. 결론 및 의견

Pyqt6 QML GUI 사용 및 방법에 대해 예제를 살펴 보았습니다. 솔직히 qml 까지 공부해 사용하기에는 전 그렇게 정이 가지 않더군요, 그래도 필요에 따라 사용하시면 됩니다.

[관련글]

PyQt6 QGraphicsView 사용하기

파이썬 Pyqt6 QTreeView 위젯 사용

파이썬 QMessageBox, 다이얼로그, 파일창

파이썬 PyQt6 레이아웃 배치

파이썬 pyqt6 qml gui

글 내비게이션

Previous post
Next post

Related Posts

파이썬

PyQt6 QPropertyAnimation Framework

2023년 05월 25일

GUI의 기능성은 중요하지만, 눈에 띄는 시각적인 요소도 중요합니다. GUI 요소에 애니메이션과 동적인 움직임을 추가하여 시각적으로 매력적인 GUI를 만들 수 있습니다. 이 글에서는 PyQt6 QPropertyAnimation Framework 를 살펴보고 GUI 안에 움직이는 방법에 대해 같이 알아보겠습니다. 1. PyQt6 QPropertyAnimation Framework 란? PyQt6 애니메이션 프레임워크는 Qt의 애니메이션 프레임워크를 기반으로 구축되었으며, GUI에 애니메이션을 만드는…

Read More
파이썬

Python Tkinter Menu 메뉴 기능

2023년 06월 14일

주요 구성 요소 중 하나는 개발자가 사용자 친화적인 메뉴 시스템을 응용 프로그램에 통합할 수 있는 메뉴입니다. Python Tkinter Menu 메뉴 기능, 전반적인 사용자 경험을 향상시키는 방법을 탐색하여 메뉴에 대해살펴보겠습니다.

Read More
파이썬

PyQt6 QT Designer 사용자 지정 위젯

2023년 05월 19일

PyQt6를 사용하면 다양한 위젯을 만들 수 있지만 때로는 기본 제공 위젯만으로는 원하는 기능을 구현하기 어려운 경우가 있습니다. 이런 경우 PyQt6 QT Designer 사용자 지정 위젯 만들기가 가능합니다.

Read More

답글 남기기 응답 취소

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

최신 글

  • 드론 비행금지구역에 대해 알아볼게요
  • cpu 온도 측정 방법
  • 포토샵 단축키 모음 정리본
  • express vpn이란? 장점 및 단점
  • 안드로이드 버전 업그레이드 방법

최신 댓글

  1. 윈도우 단축키 모음 Best5의 ace
  2. http https 차이의 챗GPT 란? · Working for you

보관함

  • 2025년 7월
  • 2025년 6월
  • 2025년 5월
  • 2025년 4월
  • 2025년 3월
  • 2025년 2월
  • 2025년 1월
  • 2024년 12월
  • 2024년 11월
  • 2024년 8월
  • 2024년 6월
  • 2024년 5월
  • 2024년 3월
  • 2024년 2월
  • 2023년 11월
  • 2023년 9월
  • 2023년 8월
  • 2023년 7월
  • 2023년 6월
  • 2023년 5월
  • 2023년 4월
  • 2023년 3월
  • 2023년 2월

카테고리

  • flutter
  • html
  • linux
  • macbook
  • Pc Useful Tips
  • 미분류
  • 워드프레스
  • 자바(Java)
  • 파이썬
  • 프로그래밍
©2025 toylee blog · 컴퓨터, 프로그램 정보 공유 | WordPress Theme by SuperbThemes