파이썬 버튼을 누른후 또 버튼이 나오게 하려면 어떻게 해야하나요?

조회수 964회

안녕하세요. 파이썬을 이용해 명령어 연습을 하고있는데, 버튼을 누르고 또 버튼이 나오게끔 만드는데, 만들어지지 않네요.

import sys #시스템 정보를 가져오는것(기본적으로 해야됨)

from PyQt5.QtWidgets import *  

class Exam(QWidget):             #나만의 창을 가져오는 거임 다른 코드도 많으나 절차지향이라 파이썬은 객체지향이라 위처럼 함

    def __init__(self):          #상위개체 생성(상위개체에 해당하는 자를 호출)
        super().__init__()       #class 안에 있는 방법에 한하는 함수 제작
        self.initUI()            #위에 따라서 많이 하는것        
    def initUI(self):            #def에서 initui에서 만들어지는것
        btn1 = QPushButton('종이',self)     #버튼 제목
        btn1.setToolTip("<b>달력,휴지,우유곽등</b> 포함")#툴팁입니다.<b>안녕하세요.<b/>    b는 굵은체 
        btn1.move(20,30)                         #버튼 움직임(왼쪽에서오른쪽,위쪽에서아래쪽)
        btn1.clicked.connect(self.btn1_clicked)
            def btn1_clicked(self):
                class inside(QWidget):

            def __init__(self):
                super().__init__()
                self.initUI()
    def initUI(self):
            btn4 = QPushButton("휴지",self)
            btn4.move(0,30)


        self.setGeometry(100,200,300,400)           #총 창을 누를 때 어떻게 커질것인지 왼쪽,위쪽,가로,세로)
        self.setWindowTitle("재활용")               #위에 실험2.py처럼 버튼누를 때 제목
        self.show()

app = QApplication(sys.argv)                        #모든 Q어플리케이션은 반드시 (시스템에 실행할때 명령키 인수받을려고 하는 부분)

w= Exam()                                           #내가 들어갈 창

d=inside()
sys.exit(app.exec_())                               #나갈 때 어떻게 되는지,어떻게 리턴되는지(깨끗하게 종료),

여기까지가 코딩하고 있는 명령어입니다.(몇몇 부분은 인식이 안되네요)

여기서 오류나는 부분은

 btn1.clicked.connect(self.btn1_clicked)
            def btn1_clicked(self):
                class inside(QWidget):

            def __init__(self):
                super().__init__()
                self.initUI()
    def initUI(self):
            btn4 = QPushButton("휴지",self)
            btn4.move(0,30)
d=inside()

sys.exit(app.exec_())

이 부분인데요.

 Traceback (most recent call last):
  File "C:\Users\Administrator\Desktop\실험2.py", line 32, in <module>
    d=inside()
NameError: name 'inside' is not defined 

라고 뜨네요 어떻게 해결해야될지 모르겠네요. 오래 걸려도 괜찮으니 답변 바라겠습니다.

  • 에러메세지를 잘 읽어보세요. name 'inside' is not defined 라고 하네요?변수 혹은 함수등 정의된 inside 가 없대요. 정영훈 2020.6.27 19:27

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

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

(ಠ_ಠ)
(ಠ‿ಠ)