擅长:python、mysql、java
<p>我想这或多或少就是你想要的:</p>
<pre><code>def makeAdjuster(name, attr, lower, upper, step):
def doAdjust(par):
setattr(Bikedrawing.p, attr, par.get_value())
panelhoriz.queue_draw()
val = getattr(Bikedrawing.p, attr)
adjust = gtk.Adjustment(value=val, lower=lower, upper=upper, step_incr=step)
label = gtk.Label(name)
topcolumn1.pack_start(label, False, False)
scale = gtk.HScale(adjustment=adjust)
scale.set_value_pos(gtk.POS_LEFT)
scale.connect("value-changed", doAdjust)
topcolumn1.pack_start(scale, True, True)
for adj in (
('Bottom bracket height', 'bottomBracketHeight', 180., 400., 10.),
('Seat tube angle', 'seatTubeAngle', 60., 80., 0.5),
('Seat tube length', 'seatTubeLength', 300., 700., 10.),
('Top tube length', 'topTubeLength', 400., 700., 10.)
):
makeAdjuster(*adj)
</code></pre>