2013-12-22 2 views
1

저는 Ubuntu 13.10에서 Python 2.7.5를 사용하고 있으며 PyQt4 버전은 4.10.2입니다. 저는 PyQt에 익숙하지 않습니다. 다음 코드는 세그먼테이션 오류를 얻는 방법을 보여줍니다. 파이썬 인터프리터를 시작한 후 :QGraphicsSimpleTextItem에 텍스트를 할당 할 때 PyQt4 분할 오류가 발생했습니다.

Python 2.7.5+ (default, Sep 19 2013, 13:48:49) 
[GCC 4.8.1] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> from PyQt4 import QtGui 
>>> obj=QtGui.QGraphicsSimpleTextItem() 
>>> obj.setText('sometext') 
Segmentation fault (core dumped) 

또는 문자열로 직접 초기화 :

>>> from PyQt4 import QtGui 
>>> obj2=QtGui.QGraphicsSimpleTextItem('some text') 
Segmentation fault (core dumped) 

또는 QString 개체로 설정 텍스트 :

나는 아주 기본적인 뭔가를 놓친합니다
>>> from PyQt4 import QtGui, QtCore 
>>> s=QtCore.QString('sometext') 
>>> obj=QtGui.QGraphicsSimpleTextItem() 
>>> obj.setText(s) 
Segmentation fault (core dumped) 

. 도와주세요. 감사.

답변

0

당신은 항상 GUI 개체/위젯을 사용하려고 시도하기 전에의 QApplication 인스턴스를 만들어야합니다

Python 2.7.6 (default, Nov 26 2013, 12:52:49) 
[GCC 4.8.2] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> from PyQt4 import QtGui 
>>> app = QtGui.QApplication([]) 
>>> obj = QtGui.QGraphicsSimpleTextItem() 
>>> obj.setText('foo') 
>>> 

그것의 PyQt는 상호 작용을 위해 필요한 모든 수입과 설치를 수행하여 .pythonrc.py에 기능을 추가하는 것이 좋습니다 세션 - 많은 지루한 다시 타이핑을 저장합니다!

+0

에코 모로 감사합니다. 방금 코드를 시도했는데 효과가있었습니다. Qt가 어떻게 작동하는지 더 잘 이해할 수 있도록 몇 가지 참조 또는 키워드를 알려주시겠습니까? 이것은 couter- 나에게 직관적 인 것 같기 때문에 ... – user3126725

+0

@ user3126725. 주요 참고 문헌은 [Qt Documentation] (https://qt-project.org/doc/)입니다. QApplication에 대한 자세한 내용은 [여기를 참조하십시오 (https://qt-project.org/doc/qt-4.8/qapplication.html#details). PyQt 관련 정보를 얻으려면 'pyqt tutorial'에 대한 웹 검색을 수행하십시오. 거기에는 수많은 자료가 있습니다. 그리고 특정 프로그래밍 문제가있는 경우 항상 SO로 돌아올 수 있습니다. 행운을 빕니다! – ekhumoro

+0

큰 감사합니다! --------------- – user3126725