Lightningbeam/PyGUI-2.5.3/Tests/32-default-heights.py

53 lines
1.3 KiB
Python

#
# PyGUI - Default control height test
#
import sys
from GUI import Window, Label, TextField, Button, CheckBox, RadioButton, Slider, \
StdFonts, Font, run
from testing import say
#from AppKit import NSLayoutManager
#nslm = NSLayoutManager.alloc().init()
#
#def showfont(n, f):
# say("%s: %s" % (n, f))
# say("height = %s" % f.height)
# say("leading = %s" % f._ns_font.leading())
# say("line height = %s" % nslm.defaultLineHeightForFont_(f._ns_font))
def main():
f = None
args = sys.argv[1:]
if args:
fontsize = int(args[0])
sf = StdFonts.system_font
f = Font(sf.family, fontsize, sf.style)
#showfont("Using font", f)
win = Window(title = "Heights")
if f:
kwds = {'font': f}
else:
kwds = {}
controls = [
Label(text = "Label", **kwds),
TextField(text = "Text", **kwds),
CheckBox(title = "Check", **kwds),
RadioButton(title = "Radio", **kwds),
Slider(orient = 'h', width = 50),
#Button(title = "Button", **kwds),
]
#for ctl in controls:
# say("Height of %r is %s" % (ctl, ctl.height))
win.place_row(controls, left = 10, top = 10)
win.shrink_wrap(padding = (10, 10))
win.show()
run()
instructions = """
The controls should line up horizontally.
"""
say(instructions)
main()