WorldViz User Forum

WorldViz User Forum (https://forum.worldviz.com/index.php)
-   Vizard (https://forum.worldviz.com/forumdisplay.php?f=17)
-   -   Text Box (https://forum.worldviz.com/showthread.php?t=2879)

malmct 08-04-2010 08:23 AM

Text Box
 
I'm trying to use a textbox for text entry. However, whenever I call .get() on the text box, it only returns an empty string, regardless of whats in the box.

Code:

class makeMenu:
        def __init__(self):
               
                #Menu Generation
                self.treadMenu=vizmenu.add()
                self.command=self.treadMenu.add("Commands")
                self.speed=self.treadMenu.add("Speed")
               
                #Command Box

                self.go=self.command.add(viz.BUTTON_LABEL,"GO")
                self.stop=self.command.add(viz.BUTTON_LABEL,"STOP")

               
                #Speed Box
                self.lspeed=self.speed.add(viz.TEXTBOX, "LEFT BELT SPEED:")
                self.rspeed=self.speed.add(viz.TEXTBOX, "RIGHT BELT SPEED:")

                          vizact.onbuttondown(trMenu.go, moveBuffer, trMenu.lspeed.get(), trMenu.rspeed.get())

def moveBuffer(lsp, rsp):
        print lsp

lsp is always an empty string.

Jeff 08-06-2010 10:02 AM

The code below works. I'll find out why the values are not passed to the callback function the way you have it and get back to you.
Code:

import viz
import vizmenu

viz.go()

class makeMenu:
        def __init__(self):
               
                #Menu Generation
                self.treadMenu=vizmenu.add()
                self.command=self.treadMenu.add("Commands")
                self.speed=self.treadMenu.add("Speed")
               
                #Command Box

                self.go=self.command.add(viz.BUTTON_LABEL,"GO")
                self.stop=self.command.add(viz.BUTTON_LABEL,"STOP")

               
                #Speed Box
                self.lspeed=self.speed.add(viz.TEXTBOX, "LEFT BELT SPEED:")
                self.rspeed=self.speed.add(viz.TEXTBOX, "RIGHT BELT SPEED:")
               

trMenu = makeMenu()

def moveBuffer():
        print 'Left Belt Speed:  ',trMenu.lspeed.get()
        print 'Right Belt Speed: ',trMenu.rspeed.get()

vizact.onbuttondown(trMenu.go, moveBuffer)


Jeff 08-06-2010 01:58 PM

The code you posted works as it should. When your callback function is registered through the vizact.onbuttondown command, the values in both text boxes are empty strings. Getting the textbox values at the time of the button press should be done in the callback function itself, as in my example.

malmct 08-10-2010 08:18 AM

That makes sense. Thank you very much.


All times are GMT -7. The time now is 02:06 PM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Copyright 2002-2023 WorldViz LLC