-
카테고리
-
세부 분야
데이터 분석
-
해결 여부
미해결
클래스 접근이 어려워요ㅠ 도와주세요
20.01.17 10:10 작성 조회수 172
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)
답변을 작성해보세요.
0
laodlhoya
질문자2020.01.21
아래 처럼 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
좋은사람
지식공유자2020.01.20
이상하네요.
form 임포트 후 리사이즈가 될 텐데요.
https://stackoverflow.com/questions/55600742/modifying-layout-in-resize-event
위 링크 확인하셔서 접근해보세요.
우선 임포트 하지마시고 자체적으로 리사이즈가 가능한지부터 체크해보셔야 될 것 같습니다.
0
laodlhoya
질문자2020.01.20
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
좋은사람
지식공유자2020.01.17
네 안녕하세요.
Ui_Form 임포트 후
Ui_Form의 pb1 버튼에 직접 접근해서 resize 조절 하시면 될 것 같습니다.
Ui_Form.pb1.set_resize 형식이 될 것 같습니다.
답변 4