Panda3D Manual: DirectCheckButton
<<prev | top | next>> |
DirectCheckButtons are similar to buttons, except they represent a binary state that is toggled when it is clicked. Their usage is almost identical to regular buttons, except that the text area and box area can be modified separately.
Keyword | Definition | Value
text_scale | Scale of the displayed text | (sx,sz)
indicatorValue | The initial boolean state of the checkbox | 0 or 1
boxImage | Image on the checkbox | Image Path
boxImageColor | Color of the image on the box | (R,G,B,A)
boxImageScale | Scale of the displayed image | Number
boxPlacement | Position of the box relative to the text area | 'left','right'
boxRelief | Relief appearance of the checkbox | SUNKEN or RAISED
boxBorder | Size of the border around the box | Number
command | Command the button performs when clicked(0 or 1 is passed, depending on the state) | Function
extraArgs | Extra arguments to the function specified in command | [Extra Arguments]
commandButtons | Which mouse button must be clicked to do the command | LMB, MMB, or RMB
rolloverSound | The sound made when the cursor rolls over the button | Sound File Path
clickSound | The sound made when the cursor clicks on the button | Sound File Path
pressEffect | Whether or not the button sinks in when clicked | <0 or 1>
## Example
    import direct.directbase.DirectStart
    from direct.gui.OnscreenText import OnscreenText
    from direct.gui.DirectGui import *
    from pandac.PandaModules import *

    #add some text
    bk_text = "This is my Demo"
    textObject = OnscreenText(text = bk_text, pos = (0.95,-0.95),
    scale = 0.07,fg=(1,0.5,0.5,1),align=TextNode.ACenter,mayChange=1)

    #callback function to set  text
    def setText(status):
    	if(status):
    		bk_text = "Checkbox Selected"
    	else:
    		bk_text = "Checkbox Not Selected"
    	textObject.setText(bk_text)

    #add button
    b = DirectCheckButton(text = "CheckButton" ,scale=.05,command=setText)

    #run the tutorial
    run()
## A note on programatically changing the indicatorValue If you programatically want to change the checkbutton's indicatorValue, you need to call `setIndicatorValue` afterwards to update the checkbutton, like:
    b["indicatorValue"] = True
    b.setIndicatorValue()
## A note on boxImage and other box* keywords Just as DirectButton may be passed a 4-tuple of values to be used in the four button states, the box* keyword arguments may be supplied with multiple entries to denote the unchecked and checked state. To supply arguments to be used in the two states of the checkbox, construct a 3-tuple of values with a 'None' in the final entry, i.e. (unchecked, checked, None). For example, to set two different images for the unchecked and checked states:
    boxImage = ("pathToDisabledImage.jpg","pathToEnabled.jpg",None)
<<prev | top | next>> |