inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기

GUI 기반 Youtube 멀티플레이어 작성(2) - PyQT5, Qt Designer

차이점이 설명부탁드립니다.

158

HYUNG SEOK LEE

작성한 질문수 1

0

  1. self.btn_1=QPushButton("clikc1",self)
  2. btn_1=QPushButton("clikc1",self)

    1번과 2번의 차이는 알겠는데

3.QPushButton("clikc1")

4.QPushButton("clikc1",self)

3번과 4번의 차이는 무었인가요? 예제에서 어떤때는 3번을 사용하면 화면에 보이고

class문법에서는 주로 4번을 사용하면 보이던데 로그인설정창(class)에서는 또 3번으로

사용하신는것 같은데 또 화이면 표시 되더라구요 => 강의는 어디에 표시할것인가 어디에 붙일것인가)라는 말씀으로 설명하신던데

좀 상세히 설명좀 해주세요..

python 웹-크롤링

답변 1

0

좋은사람

HYUNG SEOK LEE 님 안녕하세요.

네 우선 두 개의 차이는 한개의 파일에서 여러개의 클래스를 선언할 때

각 클래스마다 self 를 사용해야 "해당 클래스의 인스턴스인지"를 정확하게 선언해서 함수 등을 사용할 수 있습니다.

로그인 같은 경우에는 해당 파일 내에서 단독으로 사용하는 거라 self를 제외해도 해당 파일의 인스턴스를 인식해서

자동으로 화면에 보여지는 것입니다.

그렇다면 QPushButton 객체의 정확한 레퍼런스를 살펴볼까요?

공식 레퍼런스 링크 입니다.

http://pyqt.sourceforge.net/Docs/PyQt4/qpushbutton.html

init (self, QWidget parent = None)

init (self, QString text, QWidget parent = None)

init (self, QIcon icon, QString text, QWidget parent = None)

여기서 보면 생성자에서 첫 번째보면 parent를 지정해 주지 않으면 None 값으로 자동으로 생성하죠?

즉, 질문해주신 어떤 경우에(부모가 인스턴스 자체인경우에는) 자동으로 해당 화면에서 표시가 되는것입니다.

self를 넣어준 부분에서는 부모가 이 클래스 인스턴스임을 지정해줘서 폼에 출력이 되는 것입니다.

정리하면 한 개의 파일에 여러개의 클래스가 있고 다중의 PyQt 폼이 존재한다면 부모가 누구인지 지정할 경우는

명확하게 self를 넣어준 것이고 아닌 경우는 그냥 생략한 것입니다.

https://wikidocs.net/1742

위의 링크의 self 이해하기 부분을 다시 읽어보시면 도움이 되실 겁니다.

현재 예제에서 error 발생

0

367

3

유튜브 동영상 다운로드

0

1448

2

Atom 에디터 관련

0

337

1

위시켓 폼데이터

0

274

1

스케줄러 사용 관련 질문 드립니다

0

627

1

selenium 에러

0

428

1

Progress bar 쓰레드 관련

0

489

1

Install Package 관련 문의

0

328

1

tkinter 샘플 코드 실행 오류 건

0

1267

1

4-7-6 네이버 & 카카오 주식 정보 가져오기

0

381

1

네이버자동로그인_by_selenium

0

876

1

위시캣 로그인 처리 및 크롤링 질문

0

345

1

2-8-1 네이버이미지 크롤링 질문

1

604

3

li:nth-of-type 질문

0

350

2

에러가 뜨는데 잘 모르겠어요ㅠ

0

401

2

Install Packages 항목이 안보이는 이유가 뭘까요?

0

401

2

환경변수 Path 설정 방법

0

631

1

웹 브라우저 없는 스크랩핑 및 파싱 실습(1) - 인프런

0

333

1

웹 브라우저 없는 스크랩핑 및 파싱 실습(1) -git주소

0

477

3

download2-8-1. py질문

0

203

1

ip 차단 당하는 거 같은데 아무리 랜덤주고, sleep 줘도 안 되는데 다른 방법 더 있을까요??

0

645

1

인프런 환경이 바뀌어서 제나름대로 하는데

0

196

1

다시올려주신 예제파일로하는데

0

190

1

아직도 에러가뜨나보네요?

0

584

1