53 lines
1.3 KiB
Python
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()
|