我有一个在后台运行但未聚焦的应用程序。
用户可能正在使用一些其他应用程序,并且根据我的应用程序中的某些事件,我希望屏幕阅读器根据我的喜好朗读文本。
我不希望我的应用程序获得焦点,用户应该能够继续使用其他应用程序,我只想屏幕阅读器宣布一些文本。
我已经尝试使用不同的事件发送
QAccessibleEvent
,如Alert
、NameChanged
、ObjectShow
等...
但我认为由于我的应用程序没有聚焦,它可能没有通过。
在我的应用程序不获得焦点的情况下是否可以实现我的要求?
我正在使用:
一种可能的解决方案是直接调用屏幕阅读器特定的 API。
但是,如果您还要在屏幕上显示一些文本,那么您最好使用所谓的 toast 或通知系统(如果它适合您的应用程序)。 QT 可能提供对它们的访问。
以防万一,我是一个 DLL 的作者,该 DLL 允许多个屏幕阅读器朗读文本。 请注意,它不会在屏幕上显示任何内容。 http://github.com/qtnc/UniversalSpeech