전체 글
-
[PyQt5] 6. WidgetsPython/PyQt5 2021. 5. 19. 16:46
Qt5에는 다음과 같이 다양한 위젯이 있습니다. 다행히 아이콘만 보더라도 대부분의 위젯이 어떤 용도로 사용되는지 알 수 있습니다. 비슷비슷한 위젯을 비슷비슷한 코드로 나열하는 것은 지루한 일입니다. 공식 문서와 구글링 및 Qt Designer 사용을 추천드리고, 여기서는 제가 자주 쓰는 위젯만 간단히 나열하겠습니다. QLabel: 텍스트, 리치 텍스트, 그림, 영상 등을 구현할 수 있음. QLineEdit: 원 라인 에디터, 패스워드 가능. QTextEdit: 멀티 라인 에디터, 리치 텍스트 지원. QGroupBox: 그룹 박스, 프레임과 제목을 지원하는 컨테이너. QCheckBox: 체크박스 QPushButton: 푸시 버튼 QRadioButton: 라디오 버튼 QListBox: 리스트 박스 QComb..
-
[PyQt5] 5. layoutPython/PyQt5 2021. 5. 19. 14:18
레이아웃은 위젯들을 담아두는 틀입니다. 레이아웃을 잘 이용하면 자동으로 줄 맞춤이 되고, 좌표를 하드 코딩할 필요가 없어 유연한 GUI를 만들 수 있기 때문에, 무척 편합니다. 하드 코딩은 데이터를 직접 코드 내에 넣어두는 것을 말합니다. 레이아웃을 사용하면 (좌표에 관련된) 숫자는 거의 사용하지 않습니다. 최상위 위젯을 QMainWindow에서 QWidget으로 바꿨습니다. 이유는 마지막에... QVBoxLayout QVBoxLayout이라는 클래스가 보입니다. V는 Vertical(세로)에서 나왔다는 걸 알 수 있죠. QVBoxLayout 클래스로 layout 인스턴스를 만들어서 layout 인스턴스에 위젯들을 하나씩 addWidget 해 주었습니다. addWidget으로 상위 위젯에 add해주기 때..
-
[PyQt5] 4. EventPython/PyQt5 2021. 5. 19. 12:36
signal, slot GUI에서 버튼이 클릭이 된다던지 등의 사건을 event라고 합니다. event가 발생하면 (버튼이 눌러지면) 그에 따른 일(창을 띄운다, 결과를 출력한다 등)을 해야겠죠? 그것을 처리하는 함수를 event handler라고 합니다. Qt에서는 event를 signal, event handler를 slot이라고 합니다. 이벤트 루프 PyQt에서는 exec_()로 이벤트 루프를 실행한다고 했습니다. 파이썬 2까지는 exec가 예약된 키워드였기 때문에 exec에 밑줄이 추가되었습니다. 파이썬 3부터는 exec가 예약된 키워드가 아닙니다. 그래서 exec(), exec_() 모두 가능합니다. 이벤트 루프란 다음과 유사합니다. def mouse_clicked(): print('마우스가 클..
-
[PyQt5] 3. ClassPython/PyQt5 2021. 5. 18. 22:30
이런 코드를 쓸 수도 있지만 조금만 프로젝트가 복잡해져도 힘들어지기 때문에 대부분 클래스를 이용해서 GUI를 만듭니다. from PyQt5.QtWidgets import QApplication, QMainWindow app = QApplication([]) my_window = QMainWindow() my_window.setWindowTitle('My App') my_window.setGeometry(100, 100, 300, 300) my_window.show() app.exec_() https://github.com/pycrawling/pyqt5_study/blob/main/pyqt5_study_03-1.py 클래스를 만들고 최상위 위젯 QWidget, QDialog, QMainWindow 등을 상..
-
[PyQt5] 2. Hello World!Python/PyQt5 2021. 5. 18. 19:30
import sys from PyQt5.QtWidgets import * app = QApplication(sys.argv) label = QLabel('Hello World!') label.show() app.exec_() https://github.com/pycrawling/pyqt5_study/blob/main/pyqt5_study_02.py 위 코드를 실행(shift+F10)하면 아래와 같은 조촐한 화면이 나옵니다. 1. sys와 sys.argv import sys print(sys.argv) # ['C:/PyApp/qt_demo/main.py'] sys.argv는 실행파일의 옵션을 받을 때 사용합니다. 문자열 list 형식으로 들어오는데요. GUI 프로그램을 작성할 때 sys.argv를 사용할 ..
-
[PyQt5] 1. 설치Python/PyQt5 2021. 5. 18. 17:53
1. 파이썬 설치 파이썬 3.9 버전을 설치합니다. 본인이 사용 중인 OS에 따라 32bit, 64bit 버전을 고르면 됩니다. 모르면 32bit. https://www.python.org/ Welcome to Python.org The official home of the Python Programming Language www.python.org 2. 파이참 설치 무료버전인 커뮤니티 버전을 고릅니다. https://www.jetbrains.com/ko-kr/pycharm/download/#section=windows 다운로드 PyCharm: JetBrains가 만든 전문 개발자용 Python IDE www.jetbrains.com 3. 프로젝트 생성 4. PyQt5 설치 PyQt5를 설치하면, 파이참..
-
Dart(다트) 언어 공부할 때 유용한 링크잡다한 것들 2021. 5. 17. 17:43
업데이트 중입니다. https://brunch.co.kr/brunchbook/dartforflutter [브런치북] 플러터를 위한 다트 언어 플러터는 구글이 만든 크로스 플랫폼 앱 개발 프레임워크입니다. 즉 하나의 코드로 다양한 환경에서 동작하는 앱을 개발할 수 있습니다. 현재는 모바일 양대산맥인 안드로이드와 iOS를 동시에 brunch.co.kr 한글 자막이 있습니다. https://www.youtube.com/watch?v=vl_AaCgudcY&list=PLjxrf2q8roU2HdJQDjJzOeO6J3FoFLWr2&index=15 https://www.youtube.com/watch?v=OTS-ap9_aXc&list=PLjxrf2q8roU2HdJQDjJzOeO6J3FoFLWr2&index=16 htt..
-
[기사] “2~5배 더 빠르게”··· 귀도 반 로섬, 파이썬 속도 개선한다Python/이것저것 파이썬 2021. 5. 17. 09:06
https://www.ciokorea.com/news/193909?fbclid=IwAR3fpAX6fbBlmBqKJX5I6eEYwWWVQIUiMb3PP4D7Knm2qryEwHkbpV20ods “2~5배 더 빠르게”··· 귀도 반 로섬, 파이썬 속도 개선한다 파이썬(Python) 창시자 귀도 반 로섬이 파이콘 2021(Pycon 2021)에서 진행된 파이썬 랭귀지 서밋(Python Language Summit)에서 파이썬 속도를 2배에서 5배까지 더 빠르게 만들기 위한 단기 및 장기 계획을 발표 www.ciokorea.com 파이썬 창시자 귀도 반 로섬 "최대 약점인 속도 최대 5배 향상 예정" 속도향상 프로젝트는 마이크로소프트 산하 연구팀 주도