Layout differences between wxMac, wxGTK and WxWin (using Phoenix/wxPython 4.0.0b1)
When using sizers (e.g. with static box) on mac, the borders between the sizers have a nice spacing between them, and the contents of the sizer (e.g. some checkboxes) also have a nice space between the border and widgets).
However on GTK3 and Windows, the borders of the sizers are right next to each other (or on top of each other), and the sizer content widgets are very close to the border. Things look more cramped.
I presume the goal is to have the GUIs look the same (as similar as possible), no matter which underlying widget toolkit is being used. So is this a bug either in wxMac or wxGTK/wxWin ?
I presume the goal is to have the GUIs look the same (as similar as possible), no matter which underlying widget toolkit is being used. So is this a bug either in wxMac or wxGTK/wxWin ?
I think your presumption is not correct. As described in the one-paragraph description of wxWidgets at http://wxwidgets.org/, it uses the systems GUI toolkit with give native look and feel. Many of the widgets look very different between Mac, Windows, and Gtk.
I presume the goal is to have the GUIs look the same (as similar as possible), no matter which underlying widget toolkit is being used. So is this a bug either in wxMac or wxGTK/wxWin ?
I think your presumption is not correct. As described in the one-paragraph description of wxWidgets at http://wxwidgets.org/, it uses the systems GUI toolkit with give native look and feel. Many of the widgets look very different between Mac, Windows, and Gtk.This is a good point -- the goal is for it to "function" pretty much the same, but with native look and feel.That being said - native look means well spaced out, etc for the platfor. And each platform does handle spacing differently, so it is hard to design platform independent layout that works well.Take a look for something like "SizedControls" (sorry, on a phone, hard to find proper reference)-- they are designed to try to improve that.
On Monday, 18 September 2017 02:40:05 UTC+10, Chris Barker - NOAA Federal wrote:I presume the goal is to have the GUIs look the same (as similar as possible), no matter which underlying widget toolkit is being used. So is this a bug either in wxMac or wxGTK/wxWin ?
I think your presumption is not correct. As described in the one-paragraph description of wxWidgets at http://wxwidgets.org/, it uses the systems GUI toolkit with give native look and feel. Many of the widgets look very different between Mac, Windows, and Gtk.
I've uploaded screenshots to:Files: aquasition_mac.png, aquasition_win.png, sdcard_production_mac.png, sdcard_production_gtk3.pngAll GUIs created with wxglade, which uses sizers directly.Notice with `aquasition*` files that the borders of static boxes are right next to each other on Windows, but on Mac they have a nice gap between them.Notice with `sdcard_production*` files that the option checkboxes and `Program SD Card` button are right next to the left/right edge of the static box on GTK3, but on Mac there is a nice gap.
I understand the individual widgets will look different on different platforms. Layout/spacing (between widgets) is a bit different. The two approaches are (1) have the same spacing on all platforms, or (2) use the standard spacing that is specific to each platform (if there is such a standard or convention). Either way, as a programmer I don't want to have to do to much customization. Setting a layout mode once is more than acceptable, if need be. Having to change the spacing on every sizer and or widget per platform becomes tedious very quickly.I have used SizedControls before, and once I discovered them I always used them when hand coding a GUI (rather than explicitly coding sizers), however I am now trying to move to a graphical layout tool (i.e. wxglade) for layout, as it seems a more logical to use a GUI to create a GUI (if the layout tool is any good, then it should be quicker to design then hand coding). wxglade does not instantiate SizedControls (not directly anyhow).According to the wxPython demo:This class also applies control borders that adhere to the native platform’s Human Interface Guidelines (HIG) on Win, GTK and Mac.So SizedControls adheres to the native platforms Human Interface Guidelines. Shouldn't this be the default for all sizers on all platforms ?