Python Code(Anaconda 환경) 에서는 문제없이 실행 되었는데 Pyinstaller로 exe 로 변형한 다음에는 출력 에러가 떴다.
문제는 PyQt의 plainTextEdit 에서 .toPlainText() 로 가져온 string format 이 QString 이었는데 이것이 처리되는것에 문제가 생긴 것이었고 str() 으로 변경한 후에는 문제가 사라졌다.
2018년 3월 1일 목요일
2017년 9월 11일 월요일
PyQt
PyQt Version: PyQt4-4.11.4-gpl-Py2.7-Qt4.8.7-x64.exe
Python Version: 2.7.12 64bit
IDE: Anaconda2 4.2.0 64bit
String
콤보 박스의 string 을
str(combobox.Text()) 로 사용하고 있었고,
이것을 Anaconda Spider 에서 사용할 때는 문제가 없었으나.
PyInstaller 로 Build 한 exe 에서 error 가 나서 확인해보니
str(combobox.Text()).excode('utf-8')
을 추가 해 주어야 했다.
동일한 Python 으로 한 것이 Build 한 전후에 이상이 생겨 그 이유를 아직은 모른다.
2016년 5월 3일 화요일
사용할 Python GUI 비교 및 선택하기
하나의 필요(python에서 어떤 GUI를 주로 사용할 것인가)가 생겨 고민 과정을 정리해 보았습니다. 정리를 해 놓아야. 왜 그런 생각을 했는지, 돌아볼 수 있기 때문입니다.
목적: Python에서 주로 사용할 GUI 선택
검토 자료
검색을 통해서 동영상, 여러 비교 웹페이지 들을 돌아 다녔고, 그 결론으로
1. 'stackoverflw' 의 한 질문과 답변 (링크)
2. wxPython과 PyQt 를 둘다 처음 사용해본 개발자 의견 (링크)
3. 동일한 고민을 하고 wxPython을 고른 분의 글 (링크)
개인적 요구 사항은
1. 사용성(짧은 시간에 결과 확인)
2. 범용성(어느 OS에서나 사용 가능)
3. PC에서 사용
이었습니다.
간략하게 정리하면
1. PyQt, pyGTK, wxPython 이 유명도 면에서 선정 대상이 되었고
2. 그중 pyGTK 가 범용성 면에서 점수가 낮아 먼저 탈락 되었습니다.
3. PyQt 와 wxPython 중 어떤 것을 선택하는지 문제인데,
위 검토자료의 2, 3 이 다른 의견을 주었습니다.
4. 하지만 2번의 개발자가 직접 두 라이브러리를 가지고 직접 동일한 GUI를 구현을 해 보았고 PyQt 가 1일 걸리는 일을 wxPython으로 일주일이 걸리고, 코드의 이해도도 PyQt 가 wxPython에 비해서 높다고 하였습니다.
결론은
PyQt 공부하기로 했습니다.
추가로
python korea 에 비슷한 질문이 있고, 답변이 좋아서 기록해 둡니다.
목적: Python에서 주로 사용할 GUI 선택
검토 자료
검색을 통해서 동영상, 여러 비교 웹페이지 들을 돌아 다녔고, 그 결론으로
1. 'stackoverflw' 의 한 질문과 답변 (링크)
2. wxPython과 PyQt 를 둘다 처음 사용해본 개발자 의견 (링크)
3. 동일한 고민을 하고 wxPython을 고른 분의 글 (링크)
개인적 요구 사항은
1. 사용성(짧은 시간에 결과 확인)
2. 범용성(어느 OS에서나 사용 가능)
3. PC에서 사용
이었습니다.
간략하게 정리하면
1. PyQt, pyGTK, wxPython 이 유명도 면에서 선정 대상이 되었고
2. 그중 pyGTK 가 범용성 면에서 점수가 낮아 먼저 탈락 되었습니다.
3. PyQt 와 wxPython 중 어떤 것을 선택하는지 문제인데,
위 검토자료의 2, 3 이 다른 의견을 주었습니다.
4. 하지만 2번의 개발자가 직접 두 라이브러리를 가지고 직접 동일한 GUI를 구현을 해 보았고 PyQt 가 1일 걸리는 일을 wxPython으로 일주일이 걸리고, 코드의 이해도도 PyQt 가 wxPython에 비해서 높다고 하였습니다.
결론은
PyQt 공부하기로 했습니다.
추가로
python korea 에 비슷한 질문이 있고, 답변이 좋아서 기록해 둡니다.
170925 update
- GUI 는 PyQt 를 사용하는게 제일 편합니다. 이유는 Designer Tool 때문
- GUI 를 구성할 때는 원하는 모습으로 만들 수 있어야 하는데 이 때 바탕의 배치(layout)를 잘 활용하고 각 Widget의 Minimum, Maximum 크기를 설정하고, Dock Widget 을 활용하면 가능합니다.
- 보통 버튼을 누르면 특정 동작을 진행해야 하는데 이 때 thread 를 사용해야 GUI 가 멈추지 않습니다. QThread를 활용 하는것이 편리해서(pyqtsignal) 저는 간단한 것만 사용했는데 내부에 bug가 많다는 글을 본적이 있어 신경쓰고 있습니다.
피드 구독하기:
글 (Atom)