[Interest] Widget cross-platform (minimum) size constraint problem.
Tony Rietwyk
tony at rightsoft.com.au
Wed Jan 2 08:13:37 CET 2013
Hi,
The short answer is NO - Qt does not guarantee that designer created layouts
look identical on all platforms. Especially on Mac where the minimum sizes
are much larger due to the larger default font size and layout margins.
The same widget type will have different default minimum sizes depending on
the platform and desktop style.
It's not clear to me why you have put the groups in a scroll area, if you
don't want scroll bars to be shown. If you drag the layout into a normal
dialog or main window, then the minimum sizes that you have set should be
respected, and the group boxes should grow if you have allowed that.
Tony.
From: interest-bounces+tony=rightsoft.com.au at qt-project.org
[mailto:interest-bounces+tony=rightsoft.com.au at qt-project.org] On Behalf Of
Goblin Coding
Sent: Wednesday, 2 January 2013 5:13 PM
To: interest at qt-project.org
Subject: [Interest] Widget cross-platform (minimum) size constraint problem.
Hi All,
First of all, I have had a look at the documentation, I've tried various
combinations of setting minimum sizes, different size policies, calling
updateGeometry() and adjustSize(), I've searched the forum for "qwidget
minimum size" and others, I've asked Google.and I'm still stuck.
Background
I have a widget deriving from QScrollArea. This widget is populated with a
bunch of QGroupBox'es in a horizontal layout (the main layout for the
widget). Each QGroupBox contains buttons and/or other standard Qt widgets
and all of them have layouts assigned to them and their content.
The problem
On Windows, I manage to ensure that the widget is created with the minimum
size required to display the content WITHOUT having to show any scroll bars
by setting the minimumSize property (using QtCreator and designer) and
setting both the horizontal and vertical size policies to "Fixed". This
works just fine.
However, compiling the same code on Ubuntu (12.04 LTS), the widget is
displayed with the horizontal scroll bar showing at start-up. Now, I can
obviously sort that out (for Ubuntu) by playing around with the minimum size
settings, but that kind of defeats the point of "code once, deploy
everywhere".
The question
Is there a way to ensure that what I see in designer is what I get? In case
this is not clear: is there a way to ensure that the widget, when set on a
parent widget or window, will look exactly like it does when viewed in
designer?
Qt details:
QtCreator 2.4.1 based on Qt 4.7.4 (32 bit)
Thanks for your help!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20130102/b219f1b1/attachment.html>
More information about the Interest
mailing list