2012-11-14 3 views
0

꽤 복잡한 숫자 계산 논리와 꽤 많은 구성 매개 변수가있는 프로그램이 있습니다. 이 프로그램은 (거의) 비 대화식이며 명령 줄 인수와 구성 파일을 통해 구성됩니다.GUI 기반 프로그램 구성

나는이 프로그램에 GUI를 추가하도록 요청 받았다. 물론,이 GUI에는 필요한 모든 매개 변수가있는 구성 화면 (탭 등)이 있어야합니다. 나는 내 생전에 심각한 GUI를 한 번도 해 본 적이 없으므로이 작업에 어떻게 접근해야할지 모르겠습니다.

물론 구성 파일을로드하고 필요한 위젯을 만들 수 있습니다. 그러나이 방법을 사용하면 위젯 레이블이 "기술적이며 유익하지 않습니다". 필자는 사람이 읽을 수있는 매개 변수 이름을 저장하는 방법을 찾고 있으며 매개 변수, 레이블 및 툴팁 텍스트를 유지 관리하는 데 최소한의 추가 부담 만 가져옵니다. 자체 정보 형식을 사용하여 기본 구성 파일과 함께이 정보를 저장하는 것이 좋은 방법입니까?

FWIW wxPython에서 GUI를 작성하고 있으며 구성 파일은 ConfigObj입니다. 이 프로그램은 팀 동료가 사용하므로 악의적 인 사용자 시나리오는 고려하지 않습니다.

답변

0

일반적인 접근 방식은 여러 부분을 사용합니다.

먼저 UI를 작성하는 코드가 있습니다. 모든 레이블과 버튼 및 툴팁에 대한 텍스트가 포함 된 파일을 읽고 올바른 위치에 배치합니다.

두 번째 부분은 구성 파일을 읽고 쓰는 코드입니다. 새로운 언어가 UI에 추가 될 때 (누군가가 UI를 독일어로 변환 할 때 구성 키를 변경하지 않으려는 경우) 문제를 피하기 위해 구성 파일에서 기술 키 (= 일부 사람 만 읽을 수 있음)를 사용하려고합니다.

그래서 각 UI 요소에는 기술 ID가 있습니다. 텍스트 설정에서 ID.labelID.tooltip을 사용합니다. "실제"설정 (a.k.a 환경 설정)에서는 ID를 사용하여 선택한 값을 UI 요소에 매핑합니다.