파이썬 코드 줄이기 pyqt5클래스 내에서 반복적인 코드 줄이는 방법
조회수 542회
안녕하세요,
독학으로 코딩 공부하고 있는 초보입니다.
PYQT5 통해서 프로그래밍 하던 중, 반복적인 코드가 있어서 이를 줄여보고 싶어서 연구하는데 잘 안되서 질문 드립니다.
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(791, 915)
.
.
.#중략
.
.
def URLclean(self):
self.lineEdit_1.clear()
self.lineEdit_2.clear()
self.lineEdit_3.clear()
self.lineEdit_4.clear()
self.lineEdit_5.clear()
self.lineEdit_6.clear()
self.lineEdit_7.clear()
self.lineEdit_8.clear()
self.lineEdit_9.clear()
self.lineEdit_10.clear()
제가 줄이고 싶은 부분은 def URLclean(self)
부분입니다.
해당 부분에서 어차피 lineEdit_1~10 이고, 반복되어서 for문을 통해
def URLclean(self):
a = lineEdit_
for nums in range(1,11):
self.a+nums.clear()
이렇게 줄여보려고 했는데 self. 클래스 뒤에 a+nums 가 변수로 아예 인식이 안되는거 같습니다.
어떻게 해결해야 할까요?
감사합니다.
1 답변
-
def setupUi(self, MainWindow): # ... self.lineEdit = [ QLineEdit(self) for _ in range(10) ] # ... def UrlClean(self): for edit in self.lineEdit: edit.clear()
lineEdit_n
같은 변수명을 쓰는 것 보다는lineEdit
이라는 배열 안에 필요한 갯수 만큼의 위젯을 만들어서lineEdit[0]
,lineEdit[1]
, ... 이런식으로 만들면, for 등으로 한꺼번에 처리하기가 좋겠습니다.
댓글 입력