„Korábbi-Next” gomb helyett a csúszka Mathematica?

szavazat
3

Lehetséges, hogy használja néhány „Korábbi-Next” gomb helyett a csúszka, mint az alábbi példában, ha az ellenőrzött érték diszkrét?

Megtaláltam a manipulátor egy elég csúnya, és szeretnék néhány szetter fajta is, ha ez lehetséges.

Manipulate[
           Graphics[
                    {
                     Rectangle[{1, 1}, {3, 3}],
                      Circle[{where, 2}, 1]
                    }, 
                     PlotRange -> {{0, 11}, {0, 3}}, ImageSize -> {300, 60}
                    ],
           {where, 1, 10, 1, Slider}
          ]

írja

A kérdést 12/06/2011 14:15
a forrás felhasználó
Más nyelveken...                            


3 válasz

szavazat
4

Amennyire én tudom, ha egy vezérlőt nincs megadva manipulálni majd Mathematica dönti el, mi a vezérlést használ alapján megadott értékekkel. Ez általában a manipulátor berendezés, amely különbözik a csúszkát (a példa), hogy lehet bővíteni a vezérlő használatához lépés előre / hátra, játszani funkciók stb Ezek elég lehet:

Manipulate[
 Graphics[{Rectangle[{1, 1}, {3, 3}], Circle[{where, 2}, 1]}, 
  PlotRange -> {{0, 11}, {0, 3}}, ImageSize -> {300, 60}], {where, 1, 
  10, 1, Manipulator, Appearance -> "Open", 
  AppearanceElements -> {"StepLeftButton", "StepRightButton"}}]

Egy viszonylag új keletű kérdés itt így intézett hogyan mutat a különálló gombok egy manipulátor a kezdetektől opció használatával: Appearance-> Open Hogyan mutatják animációs vezérlő alapértelmezés szerint .

Edit: Azt is meghatározza, hogy milyen különálló gombok szeretne megjelenni, például csak a lépést a bal és jobb gombok segítségével

AppearanceElements -> {"StepLeftButton", "StepRightButton"}

amit adunk a kódot minta szerint.

Valójában egy jobb és egyszerűbb megoldás lenne, használja a ravaszt vezérlő, amely elrejti a csúszkát.

Manipulate[
 Graphics[{Rectangle[{1, 1}, {3, 3}], Circle[{where, 2}, 1]}, 
  PlotRange -> {{0, 11}, {0, 3}}, ImageSize -> {300, 60}], {where, 1, 
  10, 1, ControlType -> Trigger, 
  AppearanceElements -> {"StepLeftButton", "StepRightButton"}}]

írja kép leírása itt

Válaszolt 12/06/2011 14:43
a forrás felhasználó

szavazat
5

Hozhat létre saját vezérlőket használva Buttonígy:

Manipulate[
 Graphics[
  {Rectangle[{1, 1}, {3, 3}],
   Circle[{where, 2}, 1]},
  PlotRange -> {{0, 11}, {0, 3}},
  ImageSize -> {300, 60}
  ],
 {{where, 1, ""}, 
  Button["Prev", where = Max[1, where - 1], Appearance -> "Palette", 
    ImageSize -> {50, Automatic}] &},
 {{where, 1, ""}, 
  Button["Next", where = Min[10, where + 1], Appearance -> "Palette",
    ImageSize -> {50, Automatic}] &},
 ControlPlacement -> Left]

írja kép leírása itt

Válaszolt 12/06/2011 15:20
a forrás felhasználó

szavazat
3

Ahogy Yoda azt mutatta, Buttonlehet használni, hogy a Next és Előző gombok egy Manipulate. Gombok az ilyen gyakran használják, hogy menjen át egy korlátozott körét tárgyak. Elején és végén ebben a tartományban az Előző és a Következő gombra kell tiltani, ill. Ahhoz, hogy ezt a munkát, a gomb tulajdonság Enabledlehet használni, és mivel a kereset függ, interaktívan változó értékét, Dynamicszükséges. A következő játék a példa azt mutatja, hogyan működik ez.

Példa kód:

votePictures[picturesInput_] :=
 DynamicModule[{pictures = picturesInput, status, i},
  status = Table["Not Voted", {Length[pictures]}];
  i = 1;
  Panel[
   Row[
    {
     Dynamic[Show[pictures`i`, ImageSize -> 256]], Spacer[72 0.7],
     Column[
       {
        Row[{Style["Status  ", FontFamily -> "Arial-Bold"], 
          SetterBar[
           Dynamic[status`i`], {"No response", "Ugly", "Nice"}]}
        ], , ,
        Row[{
           Button["Previous", i -= 1, Enabled -> (i > 1)], 
           Button["Next", i += 1, Enabled -> (i < Length[pictures])]}
        ] // Dynamic,
        Row[
            {
             Style["Picture   ", FontFamily -> "Arial-Bold"], 
             Slider[Dynamic[i], {1, Length[pictures], 1},Appearance -> "Labeled"]
            }
        ], , ,
        Button["Save results", (*Export code here *)]
        }
       ] // Framed
     }
    ], ImageSize -> 750
   ]
  ]

pictures = ExampleData[#] & /@ ExampleData["TestImage"]

votePictures[pictures]

írja kép leírása itt

Válaszolt 12/06/2011 21:06
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more