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 PyTest GUI 테스트 자동화

2023년 05월 26일

많은 위젯을 사용시 GUI 오류를 확인하는 것은 쉽지 않습니다. 이때 자동화된 테스팅 도구가 PyTest입니다. 그럼 같이 Pyqt6 PyTest GUI 테스트 자동화 방법에 대해서 공해 보겠습니다.

Read More
파이썬

PyQt6 스레딩(Threading) GUI 애플리케이션 작성

2023년 06월 10일

PyQt6는 파이썬에서 GUI 애플리케이션을 작성하는 데 유용한 라이브러리 중 하나입니다. PyQt6는 이벤트 루프와 같은 동작 방식으로 인해 PyQt6 스레딩(Threading) 모델에서 작동합니다.

Read More
파이썬

파이썬 if문 사용 방법

2024년 05월 15일

파이썬에서 if 문을 사용하여 다양한 조건에 따라 프로그램의 흐름을 제어할 수 있습니다. 이는 프로그래밍에서 필수적인 개념으로, 조건문은 다양한 상황에서 유용하게 사용됩니다. 예를 들어, 사용자가 입력한 값에 따라 다른 출력을 제공하거나, 특정 조건이 충족되었을 때만 특정 코드를 실행하는 등 다양한 경우가 있습니다. if 문은 또한 다른 조건문(예: elif, else)과 함께 사용되어 다중 조건을 처리할 수 있습니다. 이 글에서는 파이썬의 if 문 사용 방법과 그 중요성에 대해 자세히 설명하겠습니다.

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