[PyQt] pyuic4 does not generate alignment for LayoutItem in grid layout?
Phil Thompson
phil at riverbankcomputing.com
Sun Jul 28 16:03:21 BST 2013
On Sun, 28 Jul 2013 01:04:52 +0000, "Johoski, Timothy R"
<timothy.r.johoski at intel.com> wrote:
>>
>> On Tue, 23 Jul 2013 18:26:22 +0000, "Johoski, Timothy R"
>> <timothy.r.johoski at intel.com> wrote:
>> > Hi, in Qt designer, I added a push button into a grid layout,
>> > right-clicked on that widget and chose Layout Alignment->Top. Qt
>> designer
>> > correctly shows the button aligned to the top. However, pyuic4's
>> generated
>> > code does not set the alignment for the button. I'm thinking pyuic4
>> should
>> > pass the alignment as the last argument to QGridLayout.addWidget? I
>> > am currently working around this by explicitly setting the alignment
>> > on the LayoutItems in my code, but I suspect that pyuic4 should be
>> > doing this
>> for
>> > me?
>> >
>> > In the following snapshots, notice that the "Aliases:" and
"Browse..."
>> > widgets are aligned to the top in Qt designer, but in the middle in
>> > the generated code.
>> >
>> > Qt designer's view:
>> > https://www.dropbox.com/s/ex8edlskvh1uep3/DesignerSnapshot.jpg
>> > pyuic4 generated result:
>> > https://www.dropbox.com/s/8vrhbvjiaw8qlrz/pyuic4PreviewSnapshot.jpg
>> >
>> > ui file:
>> > https://www.dropbox.com/s/ynvjn8e4nbtt69o/LayoutItemAlignmentIssue.ui
>> > pyuic4 generated code:
>> >
https://www.dropbox.com/s/byn51xuj4qd58mq/ui_LayoutItemAlignmentIssue.
>> > py
>> >
>> > My versions:
>> > - Windows 7, Linux SLES 10
>> > - PyQt4-4.10.1
>> > - Python-2.7.4
>>
>>
>> From: Phil Thompson
>> Sent: Friday, July 26, 2013 1:41 AM
>>
>> Fixed in tonight's snapshots.
>>
>> Thanks,
>> Phil
>
> hi Phil, thanks for the quick fix. I finally got around to trying it
> out and it works great for cases where I'm setting either Horizontal
> or Vertical layout alignment, but when I set both, pyuic4 encounters
> an error. I glanced through the diff of the snapshot and made a hacky
> fix in my copy of uiparser.gridPosition() which is now working fine
> for me, you can find it here:
> https://www.dropbox.com/s/ixe9rrl5dqytn1v/uiparser.gridPosition.py
>
> I'm a newbie to this stuff, so probably you'll know a better way to
> implement the OR'ing of alignments...
...nope, that's the way to do it.
> In case you'd like a test case, I updated the example ui file here to
set
> both horizontal and vertical alignments:
> https://www.dropbox.com/s/ynvjn8e4nbtt69o/LayoutItemAlignmentIssue.ui
>
> Thanks much,
> Tim
Thanks,
Phil
More information about the PyQt
mailing list