在spinctrl或滑块框等小部件中,可以将初始位置,最小值和最大值等属性设置为常量。有没有办法将它们指定为变量。
所以代码
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 :(得分:0)
是的,只需使用普通(非wxpython)python方法中的变量。
答案 1 :(得分:0)
作为一种解决方法,代替每个变量输入一个唯一的数字:例如:123401,123402,123403等。一旦创建了“gui.py”自动生成的文件,运行一个带有sed的脚本,用相应的数字替换每个数字变量。我使用相同的方法来确定默认字符串运行时而不是硬编码。使用strvar01,strvar02在默认字符串文本框
中#!/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"
所以自动生成的代码self.Label1 = wx.StaticText(..., u"strvar01", ... )
成为:self.Label1 = wx.StaticText(...,DefaultStr1, ... )
其中DefaultStr1
的值在运行时设置