[PyQt] Skinning the title bar and window border

Yao Ko koyao at raptr.com
Thu Sep 23 17:53:42 BST 2010


Hi,

Just note that if you go down the route of implementing a custom chrome with
custom title bar (with the typical minimize, maximize, close butons), you
may end up losing some Window Manager specific features.  This is
particularly noticeable on Mac and Win7 (with Aero).  On Mac, you can no
longer click the title bar and move the app to another virtual desktop.  On
Win7, you can no longer "shake" the app and have all other apps minimize
automatically.  Nor you can auto "snap" the app to the desktop borders.

So in the end, it's a tradeoff of user experiences, so you may want to
choose carefully before diving into having custom chrome.

Yao

On Thu, Sep 23, 2010 at 3:51 AM, Hans-Peter Jansen <hpj at urpla.net> wrote:

> On Thursday 23 September 2010, 10:06:01 pard wrote:
> > Thanks Devon
> >
> > I will be looking at an example that Vincent Vande Vyvre suggested.
>
> Well that example let you play with the flags, and the flag that is needed
> is named QtCore.Qt.FramelessWindowHint, as Devon already mentioned. The
> matter is recreating the behavior of the window manager, which will always
> be a proximity, of course.
>
> Pete
>
> > Would
> > you mind if I contacted you for pointers if I get stuck, since you have
> > some experience in this?
> >
> > Pard
> >
> > On 22 September 2010 18:18, Devon Rueckner
> <devon.rueckner at temboo.com>wrote:
> > > Hi -
> > >
> > > We had the same requirement.  Our solution was to use a frameless
> > > window (FramelessWindowHint) and implement our own chrome with event
> > > handling for title-bar moving, edge resizing, etc.
> > >
> > > Regards
> > > ~ Devon
> > >
> > > > -----Original Message-----
> > > > From: pyqt-bounces at riverbankcomputing.com [mailto:pyqt-
> > > > bounces at riverbankcomputing.com] On Behalf Of pard
> > > > Sent: Wednesday, September 22, 2010 6:48 AM
> > > > To: Hans-Peter Jansen
> > > > Cc: pyqt at riverbankcomputing.com
> > > > Subject: Re: [PyQt] Skinning the title bar and window border
> > > >
> > > > Hi Pete
> > > >
> > > > I understand why it is not popular. However, this is a requirement
> > > > for work purposes.
> > > > I had created a working program using wxpython for the gui, but the
> > > > client required a specific colour scheme, fonts, etc. I found that
> > > > wxpython was very restrictive when it comes to theming.
> > > >
> > > > PyQt uses stylesheets which make it much simpler to theme an
> > > > application. The only outstanding requirement is that the frame must
> > > > be the same theme as the application.
> > > > Marketing is quite adamant about this.
> > > >
> > > > I also understand that it would be better to start with the basics,
> > > > however, the deadline is also tight. If there are any resources which
> > > > would give pointers as to how to reconstruct the work of window
> > > > managers for my app it would be much appreciated.
> > > >
> > > > Pard
> > > >
> > > >
> > > > On 22 September 2010 12:32, Hans-Peter Jansen <hpj at urpla.net> wrote:
> > > >
> > > >       On Wednesday 22 September 2010, 11:36:41 pard wrote:
> > > >       > Hi David
> > > >       >
> > > >       > Thanks for your response. Do you have any resources that
> > > >       > would
> > > >
> > > > show how
> > > >
> > > >       > to do this? Tutorials, examples, etc.
> > > >       > I do need to change the style of the window frame.
> > > >
> > > >       Doing that is not so popular, as it usually confuses your users
> > > > more than it
> > > >       is buying you. There's a reason, why all graphical operating
> > > > systems
> > > >       (including Windows, although their application developers
> > > > usually doesn't
> > > >       care a whit) try to provide an consistent user interface.
> > > >
> > > >       > I am new to pyqt.
> > > >
> > > >       Hmm, do you enter cars, when they move at 100 mph? If yes, how?
> > > >
> > > >       Seriously, start with the basics. If you master them, nothing
> > > > will stop you
> > > >       to reconstruct the work of window managers for you own
> > > > application.
> > > >
> > > >       Cheers,
> > > >       Pete
> > > >
> > > >       _______________________________________________
> > > >       PyQt mailing list    PyQt at riverbankcomputing.com
> > > >       http://www.riverbankcomputing.com/mailman/listinfo/pyqt
>
>
> _______________________________________________
> PyQt mailing list    PyQt at riverbankcomputing.com
> http://www.riverbankcomputing.com/mailman/listinfo/pyqt
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.riverbankcomputing.com/pipermail/pyqt/attachments/20100923/7c865a71/attachment.html>


More information about the PyQt mailing list