• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

uic.loadUiType(‘c:/section6/ui/you_viewer_v1.0.ui’)[0] 에서 에러가 발생합니다

18.04.06 12:24 작성 조회수 333

0

안녕하세요~!

좋은 강의 감사합니다.

section6강의의 2번째 실습에서 에러가 발생하였는데 스스로 해결하기가 어려워서 질문을 드립니다 ^^;

아래의 코드에서

form_class = uic.loadUiType('c:/section6/ui/you_viewer_v1.0.ui')[0]

에서 에러가 발생햇는데 에러 메세지를 봐도 이유를 잘 모르겠어요 경로는

c:/section6/ui가 맞습니다. 그리고 you_viewer_v1.0.ui

파일은 첨부된 코드를 사용하였습니다

혹시 원인을 알고 계시면 알려주시면 감사할게여 ~!

======================================================================

import sys

from PyQt5.QtWidgets import **

from PyQt5.QtCore import

from PyQt5 import uic

import re

import datetime

form_class = uic.loadUiType('c:/section6/ui/you_viewer_v1.0.ui')[0]**

class TestForm(QMainWindow,form_class):

def init(self):

super().init()

self.setupUi(self)

if name == 'main':

app = QApplication(sys.argv)

window = TestForm()

window.show()

app.exec_()

에러 메세지

Traceback (most recent call last):

File "C:section6main2.py", line 8, in

form_class = uic.loadUiType('c:/section6/ui/you_viewer_v1.0.ui')[0]

File "C:ProgramDataAnaconda3envssection6libsite-packagesPyQt5uicinit.py", line 198, in loadUiType

winfo = compiler.UICompiler().compileUi(uifile, code_string, from_imports, resource_suffix, import_from)

File "C:ProgramDataAnaconda3envssection6libsite-packagesPyQt5uicCompilercompiler.py", line 110, in compileUi

w = self.parse(input_stream, resource_suffix)

File "C:ProgramDataAnaconda3envssection6libsite-packagesPyQt5uicuiparser.py", line 1013, in parse

document = parse(filename)

File "C:ProgramDataAnaconda3envssection6libxmletreeElementTree.py", line 1195, in parse

tree.parse(source, parser)

File "C:ProgramDataAnaconda3envssection6libxmletreeElementTree.py", line 596, in parse

self._root = parser._parse_whole(source)

xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 383, column 46

[Finished in 0.4s]

==========================================================================

pyqt_basic_4.py 는 실행이 되었습니다.

import sys

from PyQt5.QtWidgets import **

from PyQt5.QtCore import

from PyQt5.QtCore import *

from PyQt5 import uic

from pyqt_basic_ui import Ui_MainWindow

form_class = uic.loadUiType('C:/section6/example/pyqt_basic_3.ui')[0]

class TestForm(QMainWindow,form_class):

class TestForm(QMainWindow,Ui_MainWindow):

def init(self):

super().init()

self.setupUi(self)

if name == 'main':

app = QApplication(sys.argv)

window = TestForm()

window.show()

app.exec_()

===============================================================

답변 1

답변을 작성해보세요.

0

네 안녕하세요. terecal 님
진도 거의 다 나가셨네요 ^^
현재 not well-formed 에러 메세지는 ui 파일이 손상되었을 때 나오는 에러로 확인되는데요.
https://stackoverflow.com/questions/38351729/error-using-uic-to-convert-ui-file-to-py-file-in-python
다시 제가 첨부된 파일을 실행을 해보니 현재 작동은 되고 있습니다.
검색을 해보니 간헐적으로 ui파일이 실행이 안되는 경우가 있다고는 하는데
우선 py 파일로 변환해서 실행해 보시구요. 문제가 없다면 그대로 진행하시면 될 것같습니다.
https://github.com/eunki7/python_create_app_1/tree/master/section6
위에 github에서도 파일을 다운받아 실행해 보세요!
you_viewer_v1.0.ui 이름을 test.ui 이런 파일로 변경해서 한 번 테스트 해보세요!
감사합니다.