강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của laodlhoya1072
laodlhoya1072

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

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

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

Viết

·

365

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님의 프로필 이미지
laodlhoya
Người đặt câu hỏi

아래 처럼 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님의 프로필 이미지
niceman
Người chia sẻ kiến thức

이상하네요.

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

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

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

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

0

laodlhoya님의 프로필 이미지
laodlhoya
Người đặt câu hỏi

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님의 프로필 이미지
niceman
Người chia sẻ kiến thức

네 안녕하세요.

Ui_Form 임포트 후

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

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

Hình ảnh hồ sơ của laodlhoya1072
laodlhoya1072

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

Đặt câu hỏi