inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Python cơ bản và tạo nhiều ứng dụng tự động hóa khác nhau bằng cách sử dụng web crawling

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

378

laodlhoya

2 câu hỏi đã được viết

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 웹-크롤링

Câu trả lời 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

niceman

이상하네요.

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

niceman

네 안녕하세요.

Ui_Form 임포트 후

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

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

현재 예제에서 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

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