3. PyCon 2015
업무에서 빠르게 만들어
사용하는 PyQt 프로그래밍
PyCon 2017
예제로 살펴보는 PyQt
https://www.youtube.com/watch?v=UHqZMRbHcvc
https://www.youtube.com/watch?v=YUdlGBAPNrU
4. 발표 구성
이 발표를 왜 하게 되었나
QWebEngine
QWebChannel
시연 영상
질문과답변
5. 발표 이해를 위한 사전 지식
Python
PyQt
Web(HTML, CSS, Javascript)
13. QtWebEngine
Web을 보여줄 수 있는 Qt Widget
Qt4, Qt5 이후에도 빠르게 변하고 있는 모듈
예제 코드
https://github.com/RavenKyu/OpenTutorials_PyQt/blob/master/QtFramework/QtWidgets/QWebEngineView/
QWebEngineView_00_basic.py
14.
15. Chrome을 통한 웹 디버깅
QtWebEngine은 크로미움 기반
실행시 옵션 추가 또는 코드 추가
sys.argv.append("--remote-debugging-port=8000")
16.
17. 간단한 웹브라우져 만들기
네비게이션바, 웹 표출단, 상태바
탭기능, 다운로드페이지, 즐겨찾기, 개발자 도구
예제 코드
https://github.com/RavenKyu/OpenTutorials_PyQt/blob/master/QtFramework/QtWidgets/QWebEngineView/
QWebEngineView_03_simple_web_browser.py
18.
19. 웹 요청 처리
새 창, 탭 생성 요청 예제코드
닫기 요청 예제코드
다운로드 요청 예제코드
프린터 사용 요청 예제코드
Flash 사용 허가 예제코드
경고창 변경 예제코드
각 웹 요청 처리 코드를 위해서
QWebEngineView 상속을 하거나 시그널 처리 또는 자바스크립트 코드를 강제 삽입해야 한다.
20. QWebChannel
PyQt와 Web을 서로 이어주는 역할
데이터를 전달하고 기능을 호출할 수 있다.
예제 코드
https://github.com/RavenKyu/OpenTutorials_PyQt/blob/master/QtFramework/QtWidgets/QWebEngineView/
QWebEngineView_02_WebChannel.py
23. 웹을 불러온 이후 웹에
QWebChannel 삽입하기
웹브라우저 사용과 아닌 경우를 분리
예제 코드
https://github.com/RavenKyu/OpenTutorials_PyQt/blob/master/QtFramework/QtWidgets/QWebEngineView/
QWebEngineView_07_print_request.py
24. QWebChannel에서
사용되는 데이터 타입
QJsonValue ,QJsonDocument
타입을 지키지 않으면 데이터를 주고 받을 수 없다.
예제 코드
https://github.com/RavenKyu/OpenTutorials_PyQt/blob/master/QtFramework/QtWidgets/QWebEngineView/
QWebEngineView_09_WebChannelDataType.py