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 Docker 활용 GUI 프로그램 구축

2023년 07월 05일

PyQt6 Docker 를 사용하여 애플리케이션을 컨테이너로 패키징하고 배포하는 것은 응용 프로그램의 이식성과 확장성을 높이기 좋습니다. 이를 통해, 응용 프로그램을 더욱 효율적으로 관리하고, 보다 넓은 범위의 사용자들에게 제공할 수 있습니다.

Read More
파이썬

Python PyQt And Django 활용 웹앱 구축

2023년 06월 16일

PyQt6은 그래픽 사용자 인터페이스(GUI)를 사용하여 크로스 플랫폼 데스크탑 애플리케이션을 생성하기 위한 강력한 툴킷인 반면 Django는 강력한 웹 애플리케이션 구축 프로세스를 단순화하는 고급 웹 프레임워크입니다.

Read More
파이썬

파이썬 웹크롤링(crawling), PyQt6, BeautifulSoup

2023년 06월 19일

파이썬 웹크롤링 (crawling)를 통해 데이터 분석, 콘텐츠 스크래핑 또는 지능형 시스템 구축을 해야하는 경우가 많습니다. 웹크롤링은 다양한 프로그래밍 언어와 라이브러리를 사용하여 수행할 수 있지만, 그것을 Python Pyqt6 그래픽 사용자 인터페이스(GUI)와 결합하면 완성도 높은 프로그램을 제작 할 수 있습니다.

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