[texworks] HELP: Integrated Tw LaTeX2e Help dialogue

Paul A Norman paul.a.norman at gmail.com
Sun Jul 4 11:23:22 CEST 2010

On 4 July 2010 19:40, Stefan Löffler <st.loeffler at gmail.com> wrote:
> Hi,
> Am 2010-07-04 03:59, schrieb Paul A Norman:
>>> Paul, that's very cool indeed! One thing: if you use Qt's Layout mechanism in the window, it'll >handle cross-platform differences and resizing better. (When I first tried it, many button labels >were clipped.)
>> Are you wanting me to change the QDialog's .sizePolicy?  to which
>> setting ..... ?
> No, that wouldn't help, I think. Right now, you have simply put all
> widgets into the dialog directly. This way, Qt doesn't know how you want
> them layouted (does this word exist?) and simply puts them all at the
> position you specified at the size you gave them. What Jonathan (and I)
> suggested was to use Qt layouts (such as GridLayout). That way, you
> specify how much space should be allocated for each, e.g., row and col,
> and Qt takes care of realizing that, no matter how the user resizes the
> dialog.
> You can set a top-level layout for the whole dialog, e.g. by
> right-clicking on "Dialog" in the Qt designer object sidebar and
> selecting a layout. BTW, layouts can also be nested. For a how-to on
> splitters, see, e.g.,
> http://pepper.troll.no/s60prereleases/doc/designer-layouts.html
> So, what I'd suggest to try is the following:
> Start with two vertical layouts, one for the left part of the dialog,
> one for the right one. In the left one, stack the browser, the input
> field, the "get selection" button, and the label (and possibly a
> fixed-size vertical spacer for alignment). In the right one, stack the
> content area, a gridlayout with the buttons (using a spacer to separate
> left and right buttons; note that you can make widgets span multiple
> cells by simply resizing it appropriately), and the dialog's button box.
> Finally, select both layouts and lay them out in a splitter.
>> (I'm flying blind not being able to see what is happening cross-platform.)
> This should be the same on Windows. Just resize your dialog and see what
> happens (the widgets should stay fixed and don't resize with the dialog).
>> Currently the setting is `prefereed' for Horiz and Vertical Policy,
>> and 0 for Horiz and Vert Stretch
> AFAIK, size policies and stretch only work inside of layouts.
>>> I also think this would be better as a non-modal Window rather than a Dialog, though I haven't >experimented to know whether that's actually possible yet.
>> For completeness, as I understand from Stefan's posts that you have
>> already done in this in C++, nonetheless can I set this as either
>> .windowModality =
>>  1.  windowModal  or 2. ApplicationModal    or do you not mind which?
> Currently, C++ just overrides whatever you set in the .ui file for the
> sake of security (avoiding crashes). In C++, it's set to
> ApplicationModal. WindowModal didn't work for me on Linux, probably
> because the TeXDocument is not set as parent in the call to
> createUIFromString(). BTW: why don't you use createUI(filename, parent)
> with the .ui file (parent is optional, and defaults to a global dialog)?

Thanks Stefan,

Reason for above is covered in the source code notes - there is an
important property needing to be used that can not be accessed from

This will happen with a number of things that need to be localised to
the User's computer, and a placeholder can be set in QtCreator then
.replace(ed) in the xml before creating the dialogue from xml string.

> This should be easier and faster than manually reading the content of
> the file in the script.

What Qt are actually on 4.3 or as the help about says in Tw (0.3 ver
649), Qt framework 4.6?


> Stefan

More information about the texworks mailing list