본문 바로가기

전체 글338

[PyQt6] Shortcut in QML 개인적으로는 desktop app 만들 때 자주 쓰는 기능 중 하나입니다. QML에서도 간단하게 사용할 수 있어요. 쉬운 예제를 통해 살펴보겠습니다. Application 작성에 대해서는 이전 포스팅을 참고해주세요. 2022.11.03 - [Python] - [PyQt6] Getting Started with QtQuick QML에서 단축키 사용하기 // main.qml import QtQuick import QtQuick.Controls import QtQuick.Controls.Material ApplicationWindow { visible: true width: 640 height: 480 title: "Example App" Material.theme: Material.Dark Material... 2022. 11. 5.
[PyQt6] Data 전달 with QML 이번에는 QML을 사용하여 widget 간의 데이터 전달에 대해 살펴보겠습니다. 기본적인 application을 만드는 방법은 이전 포스팅을 참고해주세요. 2022.11.03 - [Python] - [PyQt6] Getting Started with QtQuick 간단한 예제와 함께 살펴보겠습니다. Widget간의 Data 전달 // main.qml import QtQuick import QtQuick.Controls import QtQuick.Controls.Material ApplicationWindow { visible: true width: 640 height: 480 title: "Example App" Material.theme: Material.Dark Material.accent: Mate.. 2022. 11. 4.
[PyQt6] Getting Started with QtQuick 지금까지는 QtWidgets를 주력으로 사용했었는데, 항상 디자인에 대한 아쉬움이 있었어요. 그래서 계속 다른 것들을 알아봤었는데, electron.js 외에는 마땅한 대안을 찾기가 어렵더라고요. 이제와서 다시 C#쪽으로 가자니 굳이? 싶기도 하고. ㅎㅎㅎ 물론 QtWidgets도 stylesheet를 이용해서 디자인을 할 순 있는데, 우리는 개발자잖아요? 디자이너가 해놓은 것들 그냥 갖다써서 이쁘게만 하면 되는데 안그래도 취미로 하기에 부족한 시간이라 style까지 일일이 작업하는 건 부담이더라고요. 그나마 KivyMD가 괜찮았지만, 뭔가 정도 안가고 불만족스러운 부분들도 있다보니 결국 QtQuick 쪽으로 오게 되더라고요. QML 같은 건 영 프로그램 언어 같지 않아서 개발자로서 호감도가 낮았지만, .. 2022. 11. 3.
[PyQt6] Getting Started with QtWidgets PyQt는 개인적으로 GUI application을 만들때 가장 애용하는 framework입니다. 간단하게 윈도우 생성하는 예제를 만들어 보겠습니다. Install Module $ pip install pyqt6 저는 MAC에서 v3.10.5 버전의 python과 Windows에서 v3.9.6 버전의 python에서 테스트 해보았습니다. 필요한 모듈은 딱 저거 하나입니다. Import Module import sys from PyQt6.QtCore import QSize from PyQt6.QtWidgets import QApplication, QMainWindow 필요한 모듈들은 이게 전부입니다. 개인적으로 *을 사용해 모든 모듈을 불러오기 보단 필요한 모듈만 명시적으로 import하는 것을 선호하여 .. 2022. 11. 2.
[Python] KivyMD - MDTextField 이번에는 사용자의 입력을 받을 수 있는 MDTextField widget에 대해 살펴보겠습니다. MDTextField 가장 기본적인 형태를 먼저 만들어 보겠습니다. from kivymd.app import MDApp from kivymd.uix.screen import MDScreen from kivymd.uix.textfield import MDTextField class MainApp(MDApp): def build(self): self.theme_cls.theme_style = "Dark" self.theme_cls.primary_palette = "Orange" screen = MDScreen() tf1 = MDTextField() screen.add_widget(tf1) return screen.. 2022. 10. 2.
[Python] KivyMD - MDIcon 이번에는 Icon에 대해 살펴보겠습니다. Material Design에서 제공하는 아이콘들을 쉽게 가져다 쓸 수 있어요. 아이콘의 종류와 이름은 아래 링크를 참고해주세요. https://materialdesignicons.com/ MDIcon 기본적인 아이콘 사용법은 다음과 같습니다. from kivymd.app import MDApp from kivymd.uix.boxlayout import MDBoxLayout from kivymd.uix.label import MDIcon class MainApp(MDApp): def build(self): self.theme_cls.theme_style = "Dark" self.theme_cls.primary_palette = "Orange" layout = MD.. 2022. 9. 28.
[Python] KivyMD - MDLabel 이번엔 가장 흔하게 사용되는 label widget에 대해 살펴보겠습니다. 기능이 많아서 모든 기능을 설명하기 보단 많이 쓰일 몇 가지만 보여 드리겠습니다. MDLabel 기본적으로 text property를 사용해서 메세지를 출력할 수 있어요. from kivymd.app import MDApp from kivymd.uix.boxlayout import MDBoxLayout from kivymd.uix.label import MDLabel class MainApp(MDApp): def build(self): self.theme_cls.theme_style = "Dark" self.theme_cls.primary_palette = "Orange" layout = MDBoxLayout(orientation.. 2022. 9. 27.
[Python] KivyMD를 사용하여 GUI application 만들기 KivyMD는 Kivy framework기반의 GUI 개발에 도움을 주는 framework입니다. MD는 Material Design을 뜻합니다. 이번 포스팅에서는 Python을 활용하여 간단한 사용법을 알아보겠습니다. Installation pip를 사용하여 다음의 명령으로 간단히 설치를 할 수 있습니다. $ pip install kivymd 이제 사용 준비는 모두 끝났습니다. 첫 번째 앱 만들기 간단한 코드로 첫 번째 application을 만들어 보겠습니다. from kivymd.app import MDApp from kivymd.uix.label import MDLabel class MainApp(MDApp): def build(self): return MDLabel(text="Hello, Wor.. 2022. 9. 9.
[Rust] Trait A trait defines functionality a particular type has and can share with other types. We can use traits to define shared behavior in an abstract way. We can use trait bounds to specify that a generic type can be any type that has certain behavior. Define Trait Trait definitions are a way to group method signatures together to define a set of behaviors necessary to accomplish some purpose. Traits c.. 2022. 8. 8.