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

파이썬

파이썬(python) if문 대한 이해와 사용 방법

2023년 06월 27일

Python에서 ‘if’ 문은 특정 조건에 따라 특정 코드 블록을 실행할 수 있게 해주는 기본 제어 구조입니다. 이 글에서는 파이썬(python) if문 대해 자세히 알아보고, 구문을 이해하고, 다재다능함과 강력함을 보여주는 실용적인 예를 제공합니다.

Read More
파이썬

파이썬 주석 처리 방법 및 사용 이유

2023년 07월 01일

주석은 코딩을 함에 있어서 누구나 쉽게 이해 할 수 있도록 가이드를 준다고 생각하면 됩니다. 그러므로 주석은 코드를 작성하며 매우 중요한 역할을 합니다. 이번 글에선 파이썬 주석 처리 방법 및 사용 이유에 대해 같이 알아보도록 하겠습니다.

Read More
파이썬

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

2023년 05월 20일

PyQt6는 다양한 GUI 요소를 제공하며, 메세지박스(QMessageBox)는 그 중 하나입니다. 메세지박스는 알림 또는 입력 상자와 같은 팝업 창을 말합니다. 파이썬 QMessageBox 외 다이얼로그, 파일창 예제까지 같이 알아보겠습니다.

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