pyqt5 배포판 만들기 삽질여행기(파이큐티 .ui -> .py 변경작업)
배포판을 만든후 배포판을 실행헀는데 아래와 같은 에러가 발생했다.
구글링을 해도 나오질 않았다.
뭔가 심상찮다.
위대한 개발자의 경력에 삐꾸가 날수도 있다는 생각이 들기 시작하니, 자존심이 불타올랐다.
그래서 새 프로젝트를 만들어 해보니 정상적으로 되었다.
결국 소스상에 문제가 있다는 결론을 내렸다.
자 이제 노가다 시작이다.
소스들을 하나하나 지워가면서 배포판을 테스트하기 시작했다.
그리고 발견했다.
ui = uic.loadUiType("auto_pay.ui")[0]
Qt Designer 로 만든 XML 방식의 UI제작을 컴파일러?가 해석을 못한다는 결론을 내렸다.
이제 해결만 하면된다. 어떻게?
XML 을 py 파일로 변경하는 방식만 찾으면 된다.
pyuic5 -x auto_pay.ui -o auto_pay.py
위와 같이 py 파일을 만들고, py 파일을 소스에 적용시켰다.
auto_pay.py 안의 클래스 소스를 main.py 파일로 옮기고, main.py 파일에 아래소스를 적용시켰다.
main = Ui_MainWindow2()
main.setupUi(self)
성공은 했는데, 매번 배포판 만들때마다 이짓해야하나? 골때리네~
==============================================================================
다른 방법으로,
auto_pay.py 안의 클래스 소스를 굳이 main.py 로 옮기지 말고,
auto_pay.py 를 import 시켜서
self.main_ui = auto_pay.Ui_MainWindow2()
self.main_ui.setupUi(self)
이렇게 사용하면 됨.
단 이제 메인쪽 위젯들은 self.main_ui 로 호출해야 해서 일괄적으로 모두 변경해줌~