Piratz Label Frame#
The labelframe was created, and labels were used to flesh out the frame. The labelframe required padding in the layout management to ensure that any widget placed inside the frame did not affect the frame and cleared the outer borders.
Show/Hide Code 07pirate_labelframe.py
# both theme_create and theme_settings worked
style.theme_create( "yummy", parent="clam", settings={
#style.theme_settings('default', {
# start of theme extract
'Label.border': {"element create":
('image', "label",
('disabled', "label-d"),
{'border':[19, 9, 7, 7], 'sticky': "nsew"}) # [19, 9, 7, 7]'padding':[19,3,3,3],
},
'Labelframe.border': {"element create":
('image', "frame",
('disabled', "frame-d"),
{'border':5, 'sticky': "nsew"}) } #'padding':5,
# end of theme extract - don't forget to add comma at end when inserting
})
style.theme_use('yummy') # 'default'
widg = LabelFrame(fr,text='Piratz!')
widg.grid(column=0,row=18,sticky='nsew', padx=5, pady=5, ipadx=5, ipady=5)
f0 = Label(widg,text='Something to say')
f0.grid()
widg1 = LabelFrame(fr,text='Piratz!\nextra line')
widg1.grid(column=0,row=19,sticky='nsew',padx=5,pady=5,ipadx=5,ipady=5) # ipadx=5, ipady=5
f1 = Label(widg1,text='Something else to say\nwith an extra line')
f1.grid()
run_state(fr,widg,widg1)
root.mainloop()
Note
All the pirate scripts are similar at the beginning upto
style = Style(), and is only fully shown in 07pirate_label