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 *
#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 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)
|