Beste,
ik probeer met python een invoerveld te maken (zie onderstaande code). Wat ik wil is dat ik bij de eerste 3 keuzes (No interpolation....) maar maximaal 1 keuze kan maken, maar bij de laatste keuze (Interp1s method) weer uit drie nieuwe keuzes kan kiezen (deze staan rechts van de interp1d methode.
Wat goed werkt is op het moment dat ik voor de derde keuz kies, dan worden de drie nieuwe keuzes 'geactiveerd' en kan ik hier een keuze uit maken. Alleen ik krijg het niet voor elkaar dat de eerste twee keuzes degeactiveerd worden.
Met radio buttons zou natuurlijk wel kunnen maar volgens mij zit deze mogelijkheid niet in guidata module.
ik probeer met python een invoerveld te maken (zie onderstaande code). Wat ik wil is dat ik bij de eerste 3 keuzes (No interpolation....) maar maximaal 1 keuze kan maken, maar bij de laatste keuze (Interp1s method) weer uit drie nieuwe keuzes kan kiezen (deze staan rechts van de interp1d methode.
Wat goed werkt is op het moment dat ik voor de derde keuz kies, dan worden de drie nieuwe keuzes 'geactiveerd' en kan ik hier een keuze uit maken. Alleen ik krijg het niet voor elkaar dat de eerste twee keuzes degeactiveerd worden.
Met radio buttons zou natuurlijk wel kunnen maar volgens mij zit deze mogelijkheid niet in guidata module.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
| from guidata.dataset.datatypes import DataSet, BeginGroup, EndGroup, ValueProp
from guidata.dataset.dataitems import BoolItem, FloatItem ,StringItem ,MultipleChoiceItem
prop1 = ValueProp(False)
prop2 = ValueProp(True)
prop3 = ValueProp(False)
prop4 = ValueProp(True)
class GroupSelection(DataSet):
"""
Post-Processing
"""
g1 = BeginGroup("What interpolation method do you want to use?")
enable1 = BoolItem("No interpolation")
enable2 = BoolItem("Pchip method")
enable3 = BoolItem("Interp1d method").set_prop("display", store=prop1)
mchoice2 = MultipleChoiceItem("", ["slinear", "quadratic", "cubic"]).set_pos(col=1).set_prop("display", active=prop1)
_g1 = EndGroup("group 1")
g2 = BeginGroup("Input values")
param2_1 = StringItem("Project name").set_prop("display")
param2_2 = FloatItem("X Coordinate").set_prop("display")
param2_3 = FloatItem("Y Coordinate").set_prop("display")
param2_4 = FloatItem("Z Coordinate").set_prop("display")
_g2 = EndGroup("group 2")
if __name__ == '__main__':
# Create QApplication
import guidata
_app = guidata.qapplication()
prm = GroupSelection()
prm.edit()
p1 = prm.enable1
p2 = prm.enable2
p3 = prm.enable3
project = str(prm.param2_1)
X = prm.param2_2
Y = prm.param2_3
Z = prm.param2_4 |
[ Voor 6% gewijzigd door sinasappel op 11-02-2014 17:19 ]