본문 바로가기

GUI8

[PySide6] QLabel을 클릭가능하게!? 지금까지의 내용을 요약하면, 안녕하세요? QLabel에 대한 설명을 간단하게 세 개의 포스팅에 걸쳐서 설명드렸습니다. 지금까지의 골자는, 기본적으로 이미 만들어진 틀(클래스)을 가져다 쓰기만 하면 되기 때문에(사실 그런 예제 밖에 안 보여드렸고...), 어떻게 임포트하고 어떻게 상속해서 어떻게 배치하는지, 이 정도만 알면 Qt GUI를 짜는 데 큰 걸림돌이 없다는 것이었습니다. 그런데... 이번 시간에는 그런데 이번 시간에는 진지하게 나름 상급기술을 하나 짚고 넘어가려고 합니다. 바로 QLabel에 클릭이벤트 붙이기! 전문용어로는, "클릭시그널이 없는 위젯에 클릭시그널 넣기" 정도? 영어로는 깔끔하게 "Making non-clickable widgets clickable"이라고 표현하네요. 조금 다뤄보시.. 2021. 8. 11.
[PySide6]QLabel 사용방법 2/3 지난 시간에 이어, QLabel 관련한 내용을 이어서 설명드리겠습니다. 복습 겸 지난 포스팅을 읽고 오시거나, 아래의 전체코드라도 한 번은 정독하고 포스팅을 읽어주셨으면 합니다. import sys from PySide6.QtCore import Qt from PySide6.QtWidgets import QApplication, QLabel, QMainWindow class MainWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle("QLabel 예제") widget = QLabel("= == != Hello World!") font = widget.font() font.setPointSize(30) font.se.. 2021. 7. 11.
[PySide6 GUI] 체크버튼으로 한/글 열고 닫기 시작하며 요즘 아래아한글 자동화로 쏠쏠하게 정부 및 각종 기관의 자문을 수행하고 있습니다. 근데 이게, 저 혼자 실행할 때는 고민하지 않았던 GUI 부분이 아무래도 정부기관 자문을 하게 되니 불가피하게 필요하게 되더군요. "소스코드를 보내줄테니 파이썬과 파이참 깔고 모듈 설치 후 실행해보라"고 할 수도 없는 노릇이고 결국엔 GUI까지 짜서 보내주게 되는데, 그 과정에서 얻은 나름의 노하우도 블로그에 공유하고 싶습니다. 한/글 엑셀 자동화보다 PySIde6 카테고리 조회수가 높다? 제 블로그 카테고리 중 PySide6 관련한 포스팅이 사실 좀 뜸하긴 하지만 나름 조회수를 톡톡히 올려주고 있기는 합니다. 아마 많이들 PyQt5나 PySide2를 써오시다가 최근 PySide6로 갈아타는 분들이 있어서 그런가 .. 2021. 7. 6.
1. PySide6 메모장 만들기 - 위젯 추가하기 우린 지금 어디쯤? 지금 우리는 윈도우10의 기본프로그램 중 하나인 메모장을 PySide6로 클론코딩하는 작업을 진행하고 있습니다. 지난 포스팅에서는 메모장의 틀을 만들고, 메뉴바를 완성했습니다. (아직 메뉴바에 기능을 구현하지는 않은 상태이고요.) 이번 두 번째 포스팅에서는 QtDesigner로 텍스트에디트 위젯을 추가하고 기본적인 기능을 구현하는 과정을 같이 진행해보려고 합니다. 포스팅 관련 궁금한 점은 댓글로 남겨주시면 답변 달아드리겠습니다. QtDesigner 여는 건 익숙해지셨나요? 이번 시간엔 파이참으로 디자이너를 열어봅시다. Alt-F12를 눌러 터미널을 연 후에, "pyside6-designer"라고 입력하고 엔터를 쳐보세요. 지난 번에 완성했던 ui파일을 아래 첨부해 둡니다. 다만, 디자.. 2021. 4. 1.
1. QMainWindow를 소개드리기 전에, QPushButton만 더 설명드리고... QMainWindow를 소개드리기 전에 안녕하세요? 회사원코딩입니다. 최근 튜토리얼에서는 PySide6(Qt)로 창을 생성하는 최소한의 코드를 보여드렸습니다. 1. PySide6에서 가장 기초가 되는 QApplication과 QWidget PySide6에서 가장 기초가 되는 두 가지 클래스, QApplication과 QWidget 안녕하세요? 회사원코딩입니다. 이번 포스팅에서 설명드릴 코드는 가장 단순한 창만들기입니다. 임포트문을 제외하면 네 줄밖에 www.martinii.fun from PySide6.QtWidgets import QApplication, QWidget app = QApplication() window = QWidget() window.show() app.exec_() 위 코드에서는 Q.. 2021. 3. 20.
[4/?] Qt에서의 이벤트루프란 무엇인가? 이벤트루프란 무엇인가? 지난 포스팅에서 QWidget으로 빈 창을 만드는 간단한 예제를 같이 따라해보았습니다. 1. PySide6에서 가장 기초가 되는 QApplication과 QWidget PySide6에서 가장 기초가 되는 두 가지 클래스, QApplication과 QWidget 안녕하세요? 회사원코딩입니다. 이번 포스팅에서 설명드릴 코드는 가장 단순한 창만들기입니다. 임포트문을 제외하면 네 줄밖에 www.martinii.fun 코드설명 중간에 "app.exec_()를 실행하면 이벤트루프가 시작된다"라는 표현을 사용했습니다. 그리고, "이 명령어를 실행하는 시점에서 우리가 만든 GUI 윈도우가 반응하고 움직이기 시작합니다."라고 말씀드렸는데, 이 이벤트루프에 대해서 조금만 자세히 다루고자 이 포스팅을.. 2021. 3. 19.
[2/?] Pythonic에 집착하는 분들을 위한 Pyside6 팁[feat. __feature__] 파이써닉이 아니면 불편한 분들 계시죠? 우선 pythonic이 뭔지 모르시는 분들을 위한 설명부터.. 안녕하세요? 회사원코딩입니다. 파이썬을 공부하다 보면 이런저런 책에서 이야기하는 "파이써닉"이라는 단어가 종종 튀어나옵니다. Qt 포스팅 하다가 무슨 파이써닉을 꺼내냐는 분도 계실텐데, 사실 제가 Qt를 알려드리는 게 아니고, PySide, 특히 PySide6를 알려드리는 튜토리얼이기 때문에 이 말씀을 먼저 드리는 게 좋겠다는 생각이 듭니다. 사실 파이써닉은 대부분의 파이썬 개발자들 사이에 통하는 일종의 "파이썬다움"인 것 같아요. 파이써닉함이 지켜지지 않은 코드를 읽다 보면 어떤 부분에서는 불쾌해지기도 하죠. (오타쿠인가 싶겠지만 아주 사소한 코드나 변수 가지고도 정말 그렇게 되더라고요..) '뭐지, .. 2021. 3. 18.
[1/?] 개발환경과 PySide6 모듈 설치 본문의 GIF(움짤)들은 클릭하기 전에는 초반1초 정도만 반복해서 보여줍니다. 별도로 클릭을 해주셔야만 끝까지 재생이 되는 점 유의하여 주시기 바랍니다. 개발환경과 모듈 설치 개발환경 설치 저는 본 튜토리얼을 진행하면서 모든 코딩을 "파이참"으로 진행할 예정입니다. 가급적이면 VSCode 등 여러분이 익숙한 통합개발환경을 사용하시면 좋겠지만, 딱히 그런 게 없거나, (더욱 그럴 리 없겠지만) 통합개발환경이 뭔지 모르시는 분이라면 젯브레인스 홈페이지에 가셔서 파이참 커뮤니티 버전을 설치하시는 것을 추천드립니다. 이번 포스팅에서는 간략하게 파이참의 기본사용법과 pyside6 모듈을 설치하는 과정까지 진행해보겠습니다. 파이참 커뮤니티버전 다운로드 링크 Thank you for downloading PyChar.. 2021. 3. 17.