inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

클래스 접근이 어려워요ㅠ 도와주세요

378

laodlhoya

작성한 질문수 2

0

안녕하세요~ 강의 정말 잘 듣고 있습니다.

제가 클래스 접근이 서툴러서 아래와 같은 문제를 해결 못하고 있습니다.

부디 도움 부탁드립니다.

 

Form.py 와 Main.py , Form2.py 3개로 이뤄어진 프로젝트에서

Form.py 에서는 변수만 만들어주고 Main 에서 띄어주는거 까지 성공했습니다.

이젠 Form2.py 에서 Form.py 에서의 버튼의 사이즈를 변경하고 싶습니다.

감사합니다~

밑에는 제가 작성한 코드 입니다.

main.py

import sys, Form, Form2
from PyQt5.QtWidgets import QWidget, QApplication


class MainWindow(QWidget, Form.Ui_Form):
def __init__(self):
super().__init__()
self.setupUI()
# self.set_resize(200, 200)

if __name__ == "__main__":
app = QApplication(sys.argv)
form = MainWindow()
form.show()
app.exec_()

 

Form.py

import sys

from PyQt5.QtWidgets import QPushButton

class Ui_Form(object):
def setupUI(self):
self.pb1 = QPushButton('test', self)
# self.pb1.resize(200, 200)

def set_resize(self, width, height):
self.pb1.resize(width, height)

Form2.py

from Form import Ui_Form

class camera_set(object):
def pb_resize(self):
self.ui = Ui_Form()
self.ui.set_resize(200, 200)
# self.pb_resize(200, 200)

python 웹-크롤링

답변 4

0

laodlhoya

아래 처럼 main 에서는 조절이 가능합니다.

그런데 Form2.py 에서 조절이 안됩니다 ㅠㅠㅠ

import sys, Form, Form2
from PyQt5.QtWidgets import QWidget, QApplication


class MainWindow(QWidget, Form.Ui_Form):
def __init__(self):
super().__init__()
self.setupUI()
# Form2.camera_set()
# self.set_resize(200, 200)
self.pb1.resize(200, 200)


if __name__ == "__main__":
app = QApplication(sys.argv)
form = MainWindow()
form.show()
app.exec_()

0

좋은사람

이상하네요.

form 임포트 후 리사이즈가 될 텐데요.

https://stackoverflow.com/questions/55600742/modifying-layout-in-resize-event

위 링크 확인하셔서 접근해보세요.

우선 임포트 하지마시고 자체적으로 리사이즈가 가능한지부터 체크해보셔야 될 것 같습니다.

0

laodlhoya

import sys, Form, Form2
from PyQt5.QtWidgets import QWidget, QApplication


class MainWindow(QWidget, Form.Ui_Form):
def __init__(self):
super().__init__()
self.setupUI()
Form2.camera_set()
# self.set_resize(200, 200)

if __name__ == "__main__":
app = QApplication(sys.argv)
form = MainWindow()
form.show()
app.exec_()from PyQt5.QtWidgets import QPushButton

class Ui_Form(object):
def setupUI(self):
self.pb1 = QPushButton('test', self)
# self.pb1.resize(200, 200)

def set_resize(self, width, height):
self.pb1.resize(width, height)from Form import Ui_Form

class camera_set():
def __init__(self):
Ui_Form.pb1.resize(200, 200)
Traceback (most recent call last):
  File "D:/Research/Python/screen_shot/main3.py", line 14, in <module>
    form = MainWindow()
  File "D:/Research/Python/screen_shot/main3.py", line 9, in __init__
    Form2.camera_set()
  File "D:\Research\Python\screen_shot\Form2.py", line 6, in __init__
    Ui_Form.pb1.resize(200, 200)
AttributeError: type object 'Ui_Form' has no attribute 'pb1'

Process finished with exit code 1

고쳣는데...이렇게 오류가 납니다 ㅠㅠ

0

좋은사람

네 안녕하세요.

Ui_Form 임포트 후

Ui_Form의 pb1 버튼에 직접 접근해서 resize 조절 하시면 될 것 같습니다.

Ui_Form.pb1.set_resize 형식이 될 것 같습니다.

현재 예제에서 error 발생

0

367

3

유튜브 동영상 다운로드

0

1447

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

875

1

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

0

344

1

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

1

604

3

li:nth-of-type 질문

0

350

2

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

0

401

2

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

0

400

2

환경변수 Path 설정 방법

0

631

1

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

0

333

1

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

0

475

3

download2-8-1. py질문

0

203

1

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

0

645

1

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

0

196

1

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

0

190

1

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

0

584

1