PYTHON/QT Designer

하나의 gui를 두 개의 파일에서 동시에 사용하기

  • -

하나의 py 파일에서 qt designer를 통해 만든 파일(확장자 ui)을   form_class  와   class XXX(form_class)  를 통해 파일을 연 후에, 또 다른 py 파일에서 그와 동일한 ui 파일을 그대로 사용하고 싶은 경우에는 어떻게 해야 할까?

 

 

동작 도식도

algorithm_1.py와 algorithm_2.py에서도 gui file을 사용할 수 있는 방법은?

그 방법은 의외로 단순하고 간단하다.

 

 

사전 이해

gui file 내에는 아래와 같은 화면으로 구성되어 있다. 다만   lineEdit  은 boss.py에서 사용할 것이고, 여기에 1이라는 값이 입력되면 algorithm_1.py 파일이 실행되며 algorithm_1.py 파일 내에서는   lineEdit_2    lineEdit_3  에 입력된 값을 받아와서 코드를 실행할 것이다.

 

 

클래스 상속

boss.py 파일 내에서   lineEdit  을 사용하기 위해서는   self.lineEdit.setText("내용")  과 같은 형태의 코드를 사용한다. 그렇다면   lineEdit_2  와   lineEdit_3  를 algorithm_1.py 파일 내에서 사용하기 위해서도 동일하게   self.lineEdit_2.setText("내용")  과 같은 형태를 사용하면 될까? 아니다.

다시 말해, algorithm_1.py 파일 내에서 boss.py 파일 내에 있는 클래스를 인스턴스로 생성(아래의 코드에서는 tradesystem이라는 클래스를 boss라는 인스턴스로 생성했다.)한 후 그 인스턴스와 함께   lineEdit_2   또는   lineEdit_3  를 사용하면 된다.

from boss import tradesystem  ## tradesystem이 boss.py 내의 클래스 이름이다.

class algo_1():
	def __init__(self):
		boss = tradesystem()  ## 클래스를 boss라는 인스턴스로 생성한다.
		boss.lineEdit_2.setText("내용")  ## boss라는 인스턴스와 함께 gui 객체를 사용한다.
		load = boss.lineEdit_3.text()  ## 내용을 가져오는 건 .text()를 사용하면 된다.

 

 

 


728x90
반응형

'PYTHON > QT Designer' 카테고리의 다른 글

QT Designer 내 모듈  (0) 2021.06.13
QT Designer - 커넥팅 이벤트  (3) 2021.06.07
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.