파이썬 질문입니다.
조회수 1198회
현재 파이썬3을 배우는 중에 있습니다.
근데 코딩중에 뜻대로 안되는 점이 있어 질문올립니다.
class EventedQRadioButton(QtWidgets.QRadioButton):
def __init__(self, *args, **kwargs):
self.memorizeIp=""
QtWidgets.QRadioButton.__init__(self,*args,**kwargs)
def mousePressEvent(self, QMouseEvent):
self.setChecked(not self.isChecked())
if(self.objectName() == "serverButton"):
self.memorizeIp = ui.ipEdit.text()
elif(self.objectName()=="clientButton"):
ui.ipEdit.setText(self.memorizeIp)
return super().mousePressEvent(QMouseEvent)
생성자에서 memorizeIp 맴버객체를 생성하고 그 후에
mousePressEvent함수가 호출되면서 조건에 따라 조건문을 각각 수행합니다.
디버깅을 해보니 이상한건 serverButton을 누를땐 edit에 저장된 값이 잘됩니다
하지만 다시 clientButton을 수행해서 이 값을 불러와서 edit에 대입하려 하면
값이 사라지고 빈 값이 되어 있습니다.
파이썬 기초가 부족해서 그런지 원인을 잘 모르겠습니다. 답변 부탁드리겠습니다 (_ _)
-
(•́ ✖ •̀)
알 수 없는 사용자
3 답변
-
elif(self.objectName()=="clientButton"): ui.ipEdit.setText(self.memorizeIp)
이 부분을
elif(self.objectName()=="clientButton"): print(self.memorizeIp) ui.ipEdit.setText(self.memorizeIp)
로 바꾸고, clientButton을 눌렀을 때, 콘솔 창에 저장했던 memorizeIp값이 나타나나요? 아니면 빈 스트링만 나타나나요?
-
(•́ ✖ •̀)
알 수 없는 사용자
-
-
-
댓글 입력