작성
·
313
0
안녕하세요 강사님. 강의 정말 잘 봤습니다.
개인적인 프로그램을 만들던 중 시작부터 막혔습니다.
제가 원하는건 textEdit에 처진 글들은 프린트 하는 건데
완료 버튼을 클릭하면 프로그램이 꺼져버립니다 ㅜㅜ
어떠한 오류메세지도 안떠서 인터넷에서도 방법을 못 찾았습니다.
코드는 아래와 같습니다.
두번째 pyqtSlot이 실행되면 바로 꺼져버립니다.
첫번째 pyqtSlot에서는 프린트가 정상 작동했는데.. 혼란스럽습니다.
그래서 Qdesigner 문제인가 싶어서 textEdit 을 painTextEdit로도 해봤었는데
둘다 같은 문제가 발생하고 lineEdit은 정상 작동하는데.. 여러 텍스트를 입력받아야 해서 lineEdit는
사용할 수 없습니다. 어떻게 해결할 수 있을까요?
그리고 pyqt5를 쓰면서 한번도 에러 메세지가 안나오던데...나오게 하는 방법이 없나요?
프로그램이 꺼져도 뭐가 문제인지 모르니 해결하기가 어렵습니다 ㅜㅜ
import sys, io
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5 import uic
from tag_test import Ui_MainWindow
sys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding = 'utf-8')
sys.stderr = io.TextIOWrapper(sys.stderr.detach(), encoding = 'utf-8')
class Main(QMainWindow, Ui_MainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)
self.initSignal()
def initSignal(self):
self.pushButton_7.clicked.connect(self.inputAdinfo)
self.pushButton_9.clicked.connect(self.inputKeyword)
@pyqtSlot()
def inputAdinfo(self):
self.ad_productN = self.lineEdit.text()
self.ad_camN = self.lineEdit_2.text()
@pyqtSlot()
def inputKeyword(self):
self.Keywords = self.textEdit.text()
print(self.Keywords)
if __name__ == "__main__":
app = QApplication(sys.argv)
window = Main()
window.show()
app.exec_()
답변 2
0
class Main에
sys._excepthook = sys.excepthook
def exception_hook(exctype, value, traceback):
print(exctype, value, traceback)
sys._excepthook(exctype, value, traceback)
sys.exit(1)
sys.excepthook = exception_hook
를 추가해서 해결했습니다. ㅎㅎ
0
안녕하세요. 위에 소스코드로만 보면 디버깅이 쉽지않습니다.
파이참을 사용하시면 디버깅을 통해서 문제 해결에 접근하실 수 있을겁니다.
파이참은 일정기간 무료로 사용하실 수 있습니다.
감사합니다.