많은 다른 기사, 포럼 및 질문을 통해이 문제를 해결했지만 여전히이를 파악할 수는 없습니다.루프를 사용하여 100 개 이상의 Windows Form 구성 요소 만들기
저는 프로그래밍 멍청한 놈입니다. 현재 IronPython을 사용하여 Windows Form 응용 프로그램을 만듭니다. Visual Studio 2015는 내 IDE입니다.
CSV에서로드 된 배열에서 기본 폼에 100 개 이상의 레이블 요소를 만들고 싶습니다. 배열은 다음과 같습니다
with open('sites.csv', 'rb') as f:
reader = csv.reader(f)
for row in reader:
sites.append(row[0])
: 배열은 대한 코드가 여기에있다, 잘 작동 사이트 이름 1, 사이트 이름이, 사이트 이름 3 등 내 "MyForm을"클래스 내부
사이트 이름 중 4 이 배열을 통과하고 목록의 각 사이트 이름 항목에 대한 레이블을 만들 루프가있는 양식을 표시하기 전에 자식 컨트롤을 만드는 위치입니다.
#Create Label for each Site
for s in sites:
sitename = str(s) #Convert Name into a String
elementname = sitename.replace(" ","") + "Label"
elementname = Label()
elementname.Name = str(elementname)
elementname.Parent = self
elementname.Location = Point(lastx,lasty)
counter = counter + counter
lasty = lasty + 10
변수 sitename
변수 elementname
은 sitename
변수를 취해 공백을 제거하고 이름 끝에 Label이라는 단어를 추가합니다.
그런 다음 변수 이름이 elementname
인 양식과 함께 레이블 객체를 만듭니다.
실행해도 오류 또는 예외는 발생하지 않지만 결과는 배열/목록의 첫 번째 항목 이름이있는 레이블 하나만 출력합니다.
나는 잘못된 각도에서 올 수 있습니다. 왜 코드를 실행하여 작동하지 않는지 알 수 있습니다. 그것은 내가 의도 한 sitenamelabel이 아닌 변수 elementname
을 가진 모든 단일 레이블을 만듭니다.
사전을 사용하여 변수를 동적으로 생성하려고 시도했지만 작동하지 않는 것처럼 보였습니다. 양식에 레이블 배열을 만든 다음 루프로 채우려고했지만 작동하지 않았습니다 .