Tk widgets look fine under Windows

'Least, these examples do:

Windows/CE:


escargo 26 Mar 2003 - The page for wish-reaper lists Tk applications that can be downloaded directly from this wiki and run on Windows.


... or, maybe Tk widgets don't look fine, but, after Tile, they will.

RLH - I think fine is a good word for it. I don't really have a problem with an application that doesn't look quite native. Now when Tile is rolled in, it will look native and that is a bit better than fine.


I removed the OS X screenshots because they have nothing to do with this page. The ones pointing to corporate sites with little or very hard to find screenshots could probably use some trimming too...

As for the rest, is this page supposed to convince me that Tk widgets look fine, or that they don't? Since it certainly seems to be the latter... the only screenshots that don't instantly strike me as non-native (and not just "not quite", but very different) are those of InstallBase and IPAT


AM (8 february 2006) I looked at some of these screendumps and I can not but conclude that they - in general - do not look less native (as far as the Windows platform is concerned) than many a MicroSoft product. Just think of the style differences between Visual Studio version 6.0 and version 7.0 (.NET) ... So, perhaps there is no actual native look under Windows?

MG I think that could be a pretty accurate statement. Microsoft's own Office 2003 uses white+grey menus, for instance (regardless of what theme you have set up in Windows itself) which were never used in Office 2000, and in Firefox, when you move over a menu entry ('File', etc) on the menubar, it turns blue - something I've never seen any other app on Windows do. I think largely people are more concerned with a program looking good now; as long as it does that, whether it looks native seems to be largely irrelevant (as long as it's still easy to use, of course).


Tk is still ugly. You can put up a page like this to try to "debunk" it, but you're not going to succeed so long as Tk continues to be ugly. See, to actually debunk the "myth", you'd have to actually first fix the problem. In other words, Tk-created windows would need to look native on any platform without any extra effort or customization. By default. Good luck with that.

AM (28 october 2009) Well, it would help if you, anonymous commenter, can be more specific! What exactly is ugly and what should be done to make it look native - if there is such a thing as native.


Magnus - 2009-11-16 04:28:14

I'm not a Tk developer but after a quick look at the demo-winnative screenshot I have some (constructive) criticism.

I think that you could improve the look a lot by better spacing between the widgets. First of all the spacing should be consistent over the GUI, and there should be at most maybe 3-4 different spacing "sizes". I general, it should go from larger to smaller the further "into" the widget hierarchy you go.

What irritates the eye the most with this screenshot is the large space above each radiobutton and the lack of space below the last radiobutton which looks assymetrical (especially in the "Theme" frame to the left).


arjen - 2009-11-16 10:28:01

That is the sort of constructive cricitism that is useful. Have you seen the GRIDPLUS2 extension by the way?


Wangero - 2011-11-9 16:25

Yes, Tk looks fine on Windows XP, but we are several years past that now. When will I be able to write GUIs for Windows that don't look ten years old?


jal_frezie - 2019-06-17 11:39:49

Windows 10 has a new approach to scaling. In older versions, setting a scaling of, say, 150% would increase font sizes and cause "tk scaling" to be larger thus allowing most things to be scaled nicely in Tk. But now, Tk cannot detect what the windows scaling is set to -- instead, all the graphics are zoomed when a Tk window appears on a scaled display, which looks horrible. Several other apps are similarly affected, but some -- those that are 'dynamically scaling' -- work differently and look OK. TclTk is 'scaling unaware'. Can anything be done about this?