Updated 2016-08-16 14:50:17 by bll

checkButtonScaled  edit

bll 2016-05-10: The standard ttk::checkbutton does not scale well for 4K displays. This code is a pure tcl implementation of checkbuttons with no graphics. It includes styling for all 22 themes. I have attempted to match each theme's styling reasonably well. The package will change themes on a <<ThemeChanged>> event.

Place the package require in your code after tk scaling has been set.

Download from:

Version 1.16 2016-8-16

  • Removed propagateBinds routine. Binds placed on the main container are now executed properly.
  • Fixed focus state reporting.

Version 1.14 2016-7-4

  • Change spacer to be a frame
  • Better handle Mac OS X's crazy amount of extra label padding (fixed in 8.6.6).

Version 1.13 2016-7-2

  • Fixed focus issues.
  • Fixed highlight issues.
  • Fixed space bar toggle for tab-in.

Version 1.12 2016-6-14

  • keep disabled background color the same as the background color.

Version 1.11 2016-6-9

  • fixed trace on configure of same variable name.

Version 1.10 2016-6-3

  • improved efficiency
  • added changeColor proc - supports other background colors.
  • force theme change if it hasn't been done yet.

Version 1.9 2016-5-16

  • Clean up leftover default variables from the global namespace.

Version 1.8 2016-5-15

  • Fixed a problem with leftover traces.
  • Fixed destroy cleanup of variables.

Version 1.7 2016-5-11

  • Fixed scaling.
  • Improved size of indicator character.

Version 1.6 2016-5-10

  • Added propagateBinds routine
  • Handle -style option -- loads styling * force theme change if it hasn't been done yet.from the ttk::style
  • Was missing -font
  • Fixed a bug for configure -variable

Screenshot  edit

Discussion  edit

dbohdan 2016-05-12: The fact that you have a styling for each of the 22 themes is impressive.

Could you put a high-DPI screenshot of the widget on this page?

bll 2016-5-12: Well, I actually don't have a 4K screen to test with. But I can set a windows VM to 3840x2160 video mode. Which I can then view in VirtualBox's scaled mode (it's quite horrible). The image below was made with Window's snipping tool inside the VM with tk scaling set to 2.67 (192 dpi). Windows mentioned 192 dpi when I set the custom text size to 200%, so I used that number. On the left is a standard ttk::checkbutton, on the right is the scaled checkbutton.

dbohdan 2016-05-13: Looks good! I've moved the screenshot higher on the page.