QT5 programs

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

QT5 programs

Travis Siegel
Does anyone know how usable QT5 programs are?

I'm currently using one, and while I can get to the text using the
review cursor, I can't seem to interact with the QT5 controls in any
meaningful way.  Trying to click buttons just gives me a no action
message.  When I get into a text area, the arrows don't do anything, and
pressing alphabet keys seems to have no effect. NVDA says the area is
focused, so I'm curious why nothing happens when I press alphabetical
keys, since I'd expect text to show up in the edit area, even if NVDA
won't read the edit area itself.  I was fairly sure QT5 programs didn't
work, but this one appears to (almost) work, it's just that this edit
area misbehaves, and the tool bars won't activate, but the menus work
fine, and (most) functions have key equivalents, so I can still get to
most functions of the program, but if I can't edit source, then I
suppose I'll just have to keep doing what I've always done, and that is
to edit my source with external editors, but that's a bit harder when it
comes to fixing errors. :)

Anyway, if anyone has any ideas, I'd sure like to hear thim.

Btw, this is the simple ide that parallax uses for their microcontrollers.

(http://www.parallax.com).




---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Nvda-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/nvda-devel
Reply | Threaded
Open this post in threaded view
|

Re: QT5 programs

Travis Siegel
Just for reference, here's the infor nvda log viewer gave for the
offending edit field.



OnINFO - __main__ (18:36:30):
Starting NVDA
INFO - core.main (18:36:30):
Config dir: C:\Users\Travis\AppData\Roaming\nvda
INFO - core.main (18:36:30):
NVDA version 2016.4
INFO - core.main (18:36:30):
Using Windows version 6.3.9600 workstation
INFO - core.main (18:36:30):
Using Python version 2.7.12 (v2.7.12:d33e0cf91556, Jun 27 2016,
15:19:22) [MSC v.1500 32 bit (Intel)]
INFO - core.main (18:36:30):
Using comtypes version 0.6.2
INFO - synthDrivers.espeak.SynthDriver.__init__ (18:36:31):
Using eSpeak version 1.48.15  16.Apr.15
INFO - synthDriverHandler.setSynth (18:36:31):
Loaded synthDriver espeak
INFO - core.main (18:36:31):
Using wx version 3.0.2.0 msw (classic)
INFO - braille.initialize (18:36:31):
Using liblouis version 3.0.0
INFO - braille.BrailleHandler.setDisplayByName (18:36:31):
Loaded braille display driver noBraille, current display has 0 cells.
INFO - brailleInput.initialize (18:36:31):
Braille input initialized
WARNING - core.main (18:36:31):
Java Access Bridge not available
INFO - _UIAHandler.UIAHandler.MTAThreadFunc (18:36:31):
UIAutomation: IUIAutomation3
INFO - core.main (18:36:32):
NVDA initialized
INFO - updateCheck.AutoUpdateChecker._started (20:22:31):
Performing automatic update check
INFO - globalCommands.GlobalCommands.script_navigatorObject_devInfo
(20:55:10):
Developer info for navigator object:
name: u'Welcome.c'
role: ROLE_TABCONTROL
states: STATE_FOCUSABLE, STATE_FOCUSED
isFocusable: True
hasFocus: True
Python object: <NVDAObjects.IAccessible.IAccessible object at 0x051A6F30>
Python class mro: (<class 'NVDAObjects.IAccessible.IAccessible'>, <class
'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class
'baseObject.ScriptableObject'>, <class 'baseObject.AutoPropertyObject'>,
<type 'object'>)
description: None
location: (480, 239, 96, 24)
value: None
appModule: <'appModuleHandler' (appName u'simpleide', process ID 8168)
at address 518ef10>
appModule.productName: exception: No version information
appModule.productVersion: exception: No version information
TextInfo: <class 'NVDAObjects.NVDAObjectTextInfo'>
windowHandle: 329406
windowClassName: u'Qt5QWindowIcon'
windowControlID: 0
windowStyle: -1764818944
windowThreadID: 3352
windowText: u'SimpleIDE C:\\Users\\Travis\\Documents\\SimpleIDE\\My
Projects\\Welcome.side'
displayText: u''
IAccessibleObject: <POINTER(IAccessible) ptr=0xb56e930 at 527b850>
IAccessibleChildID: 0
IAccessible event parameters: windowHandle=329406, objectID=-4,
childID=-2147483465
IAccessible accName: u'Welcome.c'
IAccessible accRole: ROLE_SYSTEM_PAGETABLIST
IAccessible accState: STATE_SYSTEM_FOCUSED, STATE_SYSTEM_FOCUSABLE,
STATE_SYSTEM_VALID (1048580)
IAccessible accDescription: None
IAccessible accValue: None
INFO - globalCommands.GlobalCommands.script_navigatorObject_devInfo
(21:00:30):
Developer info for navigator object:
name: None
role: ROLE_EDITABLETEXT
states: STATE_FOCUSABLE, STATE_FOCUSED
isFocusable: True
hasFocus: True
Python object: <NVDAObjects.IAccessible.IAccessible object at 0x0518D9B0>
Python class mro: (<class 'NVDAObjects.IAccessible.IAccessible'>, <class
'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class
'baseObject.ScriptableObject'>, <class 'baseObject.AutoPropertyObject'>,
<type 'object'>)
description: None
location: (482, 264, 714, 493)
value: u"/*\n  Welcome.c\n  \n  Welcome to SimpleIDE, the C programming
environment that makes it easy to \n  get started with the multi-core
Propeller microcontroller! \n  \n  To run this program:\n  \n    - Is
this the first Parallax software you've installed on yo" (truncated)
appModule: <'appModuleHandler' (appName u'simpleide', process ID 8168)
at address 518ef10>
appModule.productName: exception: No version information
appModule.productVersion: exception: No version information
TextInfo: <class 'NVDAObjects.NVDAObjectTextInfo'>
windowHandle: 329406
windowClassName: u'Qt5QWindowIcon'
windowControlID: 0
windowStyle: -1764818944
windowThreadID: 3352
windowText: u'SimpleIDE C:\\Users\\Travis\\Documents\\SimpleIDE\\My
Projects\\Welcome.side'
displayText: u''
IAccessibleObject: <POINTER(IAccessible) ptr=0xb51a620 at 4dac030>
IAccessibleChildID: 0
IAccessible event parameters: windowHandle=329406, objectID=-4,
childID=-2147483468
IAccessible accName: None
IAccessible accRole: ROLE_SYSTEM_TEXT
IAccessible accState: STATE_SYSTEM_FOCUSED, STATE_SYSTEM_FOCUSABLE,
STATE_SYSTEM_VALID (1048580)
IAccessible accDescription: None
IAccessible accValue: u"/*\n  Welcome.c\n  \n  Welcome to SimpleIDE, the
C programming environment that makes it easy to \n get started with the
multi-core Propeller microcontroller! \n  \n To run this program:\n  
\n    - Is this the first Parallax software you've installed on yo"
(truncated)


---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Nvda-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/nvda-devel
Reply | Threaded
Open this post in threaded view
|

Re: QT5 programs

James Teh
Regarding the no action message, perhaps Qt doesn't implement actions for those controls. However, you could still route the mouse to them and then click.

Regarding the text box, Qt 5 supports IAccessible2, which should allow this control to be accessible. However, for some reason, your logs show that IAccessible2 isn't working in this application. I don't know why. Perhaps it doesn't allow NVDA to inject needed dlls or perhaps they're somehow blocking the query for IA2. A debug log might provide more info, but it also might not.

On Mon, May 15, 2017 at 11:14 AM, Travis Siegel <[hidden email]> wrote:
Just for reference, here's the infor nvda log viewer gave for the
offending edit field.



OnINFO - __main__ (18:36:30):
Starting NVDA
INFO - core.main (18:36:30):
Config dir: C:\Users\Travis\AppData\Roaming\nvda
INFO - core.main (18:36:30):
NVDA version 2016.4
INFO - core.main (18:36:30):
Using Windows version 6.3.9600 workstation
INFO - core.main (18:36:30):
Using Python version 2.7.12 (v2.7.12:d33e0cf91556, Jun 27 2016,
15:19:22) [MSC v.1500 32 bit (Intel)]
INFO - core.main (18:36:30):
Using comtypes version 0.6.2
INFO - synthDrivers.espeak.SynthDriver.__init__ (18:36:31):
Using eSpeak version 1.48.15  16.Apr.15
INFO - synthDriverHandler.setSynth (18:36:31):
Loaded synthDriver espeak
INFO - core.main (18:36:31):
Using wx version 3.0.2.0 msw (classic)
INFO - braille.initialize (18:36:31):
Using liblouis version 3.0.0
INFO - braille.BrailleHandler.setDisplayByName (18:36:31):
Loaded braille display driver noBraille, current display has 0 cells.
INFO - brailleInput.initialize (18:36:31):
Braille input initialized
WARNING - core.main (18:36:31):
Java Access Bridge not available
INFO - _UIAHandler.UIAHandler.MTAThreadFunc (18:36:31):
UIAutomation: IUIAutomation3
INFO - core.main (18:36:32):
NVDA initialized
INFO - updateCheck.AutoUpdateChecker._started (20:22:31):
Performing automatic update check
INFO - globalCommands.GlobalCommands.script_navigatorObject_devInfo
(20:55:10):
Developer info for navigator object:
name: u'Welcome.c'
role: ROLE_TABCONTROL
states: STATE_FOCUSABLE, STATE_FOCUSED
isFocusable: True
hasFocus: True
Python object: <NVDAObjects.IAccessible.IAccessible object at 0x051A6F30>
Python class mro: (<class 'NVDAObjects.IAccessible.IAccessible'>, <class
'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class
'baseObject.ScriptableObject'>, <class 'baseObject.AutoPropertyObject'>,
<type 'object'>)
description: None
location: (480, 239, 96, 24)
value: None
appModule: <'appModuleHandler' (appName u'simpleide', process ID 8168)
at address 518ef10>
appModule.productName: exception: No version information
appModule.productVersion: exception: No version information
TextInfo: <class 'NVDAObjects.NVDAObjectTextInfo'>
windowHandle: 329406
windowClassName: u'Qt5QWindowIcon'
windowControlID: 0
windowStyle: -1764818944
windowThreadID: 3352
windowText: u'SimpleIDE C:\\Users\\Travis\\Documents\\SimpleIDE\\My
Projects\\Welcome.side'
displayText: u''
IAccessibleObject: <POINTER(IAccessible) ptr=0xb56e930 at 527b850>
IAccessibleChildID: 0
IAccessible event parameters: windowHandle=329406, objectID=-4,
childID=-2147483465
IAccessible accName: u'Welcome.c'
IAccessible accRole: ROLE_SYSTEM_PAGETABLIST
IAccessible accState: STATE_SYSTEM_FOCUSED, STATE_SYSTEM_FOCUSABLE,
STATE_SYSTEM_VALID (1048580)
IAccessible accDescription: None
IAccessible accValue: None
INFO - globalCommands.GlobalCommands.script_navigatorObject_devInfo
(21:00:30):
Developer info for navigator object:
name: None
role: ROLE_EDITABLETEXT
states: STATE_FOCUSABLE, STATE_FOCUSED
isFocusable: True
hasFocus: True
Python object: <NVDAObjects.IAccessible.IAccessible object at 0x0518D9B0>
Python class mro: (<class 'NVDAObjects.IAccessible.IAccessible'>, <class
'NVDAObjects.window.Window'>, <class 'NVDAObjects.NVDAObject'>, <class
'baseObject.ScriptableObject'>, <class 'baseObject.AutoPropertyObject'>,
<type 'object'>)
description: None
location: (482, 264, 714, 493)
value: u"/*\n  Welcome.c\n  \n  Welcome to SimpleIDE, the C programming
environment that makes it easy to \n  get started with the multi-core
Propeller microcontroller! \n  \n  To run this program:\n  \n    - Is
this the first Parallax software you've installed on yo" (truncated)
appModule: <'appModuleHandler' (appName u'simpleide', process ID 8168)
at address 518ef10>
appModule.productName: exception: No version information
appModule.productVersion: exception: No version information
TextInfo: <class 'NVDAObjects.NVDAObjectTextInfo'>
windowHandle: 329406
windowClassName: u'Qt5QWindowIcon'
windowControlID: 0
windowStyle: -1764818944
windowThreadID: 3352
windowText: u'SimpleIDE C:\\Users\\Travis\\Documents\\SimpleIDE\\My
Projects\\Welcome.side'
displayText: u''
IAccessibleObject: <POINTER(IAccessible) ptr=0xb51a620 at 4dac030>
IAccessibleChildID: 0
IAccessible event parameters: windowHandle=329406, objectID=-4,
childID=-2147483468
IAccessible accName: None
IAccessible accRole: ROLE_SYSTEM_TEXT
IAccessible accState: STATE_SYSTEM_FOCUSED, STATE_SYSTEM_FOCUSABLE,
STATE_SYSTEM_VALID (1048580)
IAccessible accDescription: None
IAccessible accValue: u"/*\n  Welcome.c\n  \n  Welcome to SimpleIDE, the
C programming environment that makes it easy to \n get started with the
multi-core Propeller microcontroller! \n  \n To run this program:\n
\n    - Is this the first Parallax software you've installed on yo"
(truncated)


---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Nvda-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/nvda-devel


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Nvda-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/nvda-devel
Reply | Threaded
Open this post in threaded view
|

Re: QT5 programs

Travis Siegel
I tried routing the mouse, and I couldn't get it to do anything.
Clicking with the actual mouse did work, but routing the mouse, and
using the slash key for a left button click didn't do anything. <sigh>

I believe the source for this ide is available, so it might be possible
to fix this, but I'd not know what to try in an effort to fix the
problem, if it's just a matter of setting things in the code, all is
fine, but if it's all resultant from the QT stuff, there's probably not
much that can be done.  I tried both nvda-dash, and nvda-shift-dash to
get the mouse where it needed to be, and neither one worked (not that
I'd expect the one to do so), Using nvda-enter is what triggered the no
action message, so I'm not sure what else to try.  These folks are
pretty reasonable, so it's likely if I could figure out how to make the
code accessible, I could probably persuade them to roll it into the main
code, but I don't know enough about accessible rolls and the like to
make an attempt at this, even assuming QT allows for such fixing.

When I program, I stick to libraries that don't generally use screen
real-estate, so I can use standard output routines for that, and that
tends to make my programs accessible without me having to do any extra
work to make it happen, so I have just about no experience with forcing
things to work, and I've been told repeatedly over the years that QT
code isn't accessible, though I've never actually dug into the claims
first hand before.

Don't know what (if anything) I can do to help solve this one, but any
pointers would be greatly appreciated.

And, for some reason, I thought I was using 2017.1, but I see that my
log claims I'm still on 2016.4. <sigh> Ahh well. Fairly certain that
won't affect the usability of this particular program any though.

Thanks in advance for any assistance here.



On 5/14/2017 11:03 PM, James Teh wrote:

> Regarding the no action message, perhaps Qt doesn't implement actions
> for those controls. However, you could still route the mouse to them
> and then click.
>
> Regarding the text box, Qt 5 supports IAccessible2, which should allow
> this control to be accessible. However, for some reason, your logs
> show that IAccessible2 isn't working in this application. I don't know
> why. Perhaps it doesn't allow NVDA to inject needed dlls or perhaps
> they're somehow blocking the query for IA2. A debug log might provide
> more info, but it also might not.
>


---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Nvda-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/nvda-devel