파이썬 질문입니다.

조회수 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값이 나타나나요? 아니면 빈 스트링만 나타나나요?

    • (•́ ✖ •̀)
      알 수 없는 사용자
  • 빈값이 나타납니다 '' 이렇게요

    디버깅으로 확인해봤었지만 그렇게 나타나더라구요

    다른데서는 memorize를 건드는 코드는 없습니다...

    • (•́ ✖ •̀)
      알 수 없는 사용자
  • 문제를 잘못올려 죄송합니다 (_ _) 문제 해결했습니다 코드 외적인 부분에서 문제였습니다.

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)