[Qt-interest] Howto prevent usage of native winId
Frank Hemer
frank at hemer.org
Sun Mar 7 00:21:09 CET 2010
On Saturday 06 March 2010 15:41:48 David Ching wrote:
> "Frank Hemer" <frank at hemer.org> wrote in message
> news:201003061520.45766.frank at hemer.org...
>
> > I'm developing for tabletPC using WinXP Microsoft TabletPC Edition.
> >
> > On the target platform, all created widgets have a native winId (not
> > intentionaly forces by any QApplication attribute or such).
> > That does not happen on a plain WinXP, Linux or others.
> >
> > This causes several problems - as f.e. it prevents QGraphicsEffect &
> > friends
> > from working properly.
> >
> > What can be the cause of this, and how can I workaround/prevent it?
>
> This happens to me when I am running a screen accessibility reader like
> JAWS. I haven't traced the Qt Accessibility code yet, but I think on
> startup, Qt sees if a screen reader is running and if so it generates all
> widgets with a native HWND. But not if no screen reader is running.
>
> You may want to see if the Tablet PC's accessibility reader or other things
> are running, and trace into Qt Accessibility code. Then let us know, it
> would be interesting! If this is the root cause, you can not distribute
> the QtAccessible4.dll (I think it's name is that), or build Qt with the
> #define QT_NOACESSIBILITY (I think it's name is that) flag, and it should
> then work for you.
Good hint - however I needed to debug on a tabletPC in order to find out what
exactly is going wrong ... timeconsuming task that is.
For now I know that indeed a call to QAccessible::updateAccessibility (...) is
the root cause - and it is not possible to prevent this behaviour with simply
not installing the related dll.
I'm currently rebuilding qt without accessibility support and will keep you
informed about the results. However I wonder whether this also will disable
access to the virtual keyboard and additional pen features that come with the
tablet edition. ... lets see ...
Frank
More information about the Qt-interest-old
mailing list