2013-07-09 2 views
1

spinctrl 또는 슬라이더 상자와 같은 위젯에서는 위치, 최소값 및 최대 값 등의 속성을 상수로 설정할 수 있습니다. 변수로 지정할 수있는 방법이 있습니까?wxFormBuilder의 속성 대신 상수 대신 변수 사용

그래서 코드

self.HDSpin = wx.SpinCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS, 0, 10, 0) 

self.HDSpin = wx.SpinCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.SP_ARROW_KEYS, params.minv, params.maxv, params.defaultv) 

이이 매개 변수 대화 상자가 표시됩니다 직전 런타임에 설정 될 수 있습니다됩니다.

답변

0

해결 방법으로, 각 변수 대신에 고유 한 번호를 입력하십시오 : 예 : 123401123402123403 등. "gui.py"자동 생성 파일이 생성되면 스크립트를 실행하여 각 번호를 해당 변수. 나는 기본 문자열을 하드 코딩 된 것과 달리 결정하기 위해 동일한 것을 사용한다. 기본 문자열 텍스트 상자

#!/bin/bash 

FILE="gui.py" 

sed -i 's/123401/HDMin/g' "$FILE" 
sed -i 's/123402/HDDefault/g' "$FILE" 
sed -i 's/123403/HDMax/g' "$FILE" 
sed -i 's/u"strvar01"/DefaultStr1/g' "$FILE" 

에서 strvar01, strvar02 너무 자동 생성 된 코드 self.Label1 = wx.StaticText(..., u"strvar01", ...)

가된다 : DefaultStr1의 값이 런타임에 설정되어 self.Label1 = wx.StaticText(...,DefaultStr1, ...)

0

네, 보통 (비 wxpython) 파이썬 메소드에서와 같은 변수를 사용하십시오.

+0

wxformbuilder 만 numers을 받아 속성 대화 상자에서 .. 현재 각 변수에 대해 특정 숫자를 상수로 지정합니다. 예를 들어'x'는'12301'입니다. 'y'를'12302' 등으로 사용합니다. 그런 다음 sed와 함께 bash 스크립트를 사용하여 자동 생성 된 파일에 변수를 추가합니다. – staticd

+0

그런 경우에는 wxformbuilder의 제한 사항이므로 코드를 변경하거나 기능에 추가하는 개발자에게 요청해야합니다. – Yoriz