[PyQt] layout management serious problem

think_resist at hushmail.com think_resist at hushmail.com
Fri Oct 12 21:31:28 BST 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1



On Fri, 12 Oct 2007 16:05:51 +0300 Mark Summerfield <mark at qtrac.eu>
wrote:
>On 2007-10-12, think_resist at hushmail.com wrote:
>> Hi all,
>>
>> I'm completely confused on a simple thing (from what I read):
>> layout management
>>
>> I've written a pyqt hui app that has a Mainwindow, a
>centralwidget
>> and 15 widgets (textedit, linedit, pushbuttun) that belong to
>the
>> centralwidget. I've written their size, heigh , position and
>> everythig worked so far. When I got the program to run on a
>system
>> with different resolution, it was...10 times bigger (and 1000
>> uglier)! So I've realized i have to use a layout manager...I've
>> read many texts in the web but i don't get the logic behind this
>> thing. Can't i just create the mainwindow, the size i want, then
>> create the central widget, create a layout manager, put the
>central
>> widget on it and then start adding widgets on the central
>widget,
>> or this is no tgoing to work? Do I have to write down how each
>> widget will grow or shrink? Very confused, will appreciate any
>help
>> very much
>
In this case I guess it is not, since my widgets have to be a
specific size, definitely not the default ones! Example,
QPushbuttons will show some images, so they can't be the size of a
button.

>It is almost always a mistake to specify sizes for Qt widgets
>(except
>for top-level windows).
>
>Try something like this in your QMainWindow subclass's __init__():
>
>    # create the 15 widgets (no sizes, no positions!)
>    grid = QGridLayout() # Or any other layout
>    grid.addWidget(myWidget01, row, col) # set row, col
>appropriately
>    # ...
>    grid.addWidget(myWidget15, row, col)
>
>    centralWidget = QWidget()
>    centralWidget.setLayout(grid)
>    self.setCentralWidget(centralWidget)
>

in the case of a qpushbutton, this makes the button shrink or grow
only horizontally ! I need to get this grow/shrink vertically as
well, plus make it bigger from the initialization (that is specify
it's size). Is this possible with grid layout?


Thanks



>Hope this helps!
>
>--
>Mark Summerfield, Qtrac Ltd., www.qtrac.eu
-----BEGIN PGP SIGNATURE-----
Note: This signature can be verified at https://www.hushtools.com/verify
Charset: UTF8
Version: Hush 2.5

wpwEAQECAAYFAkcP2aAACgkQMthlogX/iJTj2wP/RsQiESVzkNldJgKgIvJAxzmCiDXg
QsTHK/pLO2Si8jJfg4rQ9RI3pdIuZlySvo5nGyfMWlwqvPyv+kZa+4rHO2GIQyGbdySJ
kasi/3IMv+BpEBJIX83rGPZB5sTfDccIKzl071KooAQQ8PFIgdCNVj/L+kCMdmNqYzPk
EKfPIWo=
=CP0g
-----END PGP SIGNATURE-----




More information about the PyQt mailing list