繁体   English   中英

用于辅助功能应用程序的Python GUI

[英]Python GUI for accessibility Application

我将为有运动问题的人开发一个基于Python的应用程序。

我在这里阅读了一些关于使用Python创建GUI的最常用Toolkits的一般特性的帖子,但希望你能根据我的要求给我一些建议。

1)基本上将使用该程序的人将使用点击与其进行通信,一次点击意味着“是”,并且在必要时两次点击(不像双击那样快)意味着“否”。 鼠标指针所在的屏幕区域无关紧要,重要的是点击还是两次点击。

2)在主窗口中,程序将显示6个不同的元素,并且必须为每个元素清晰地播放预录音,并等待一小段时间让用户选择它(通过单击一次)。 通过示例:声音“元素一”...等待n秒单击声音“元素二”...等待n秒进行单击等等

如果没有选择任何元素,则程序必须在第一个元素上重新开始。

3)一旦用户选择了一个选项,就会出现一组新元素,并重复2)的过程,但在这种情况下,当进行选择时,该元素被添加到“最终列表”中。

例如:主要的元素组是1)动物,2)国家,3)城市,......和次要元素是1.1)狗,1.2)猫,...

最终名单可能是这样的:狗,纽约,墨西哥,阿根廷,猫,蛇,埃及,加拉加斯,......

4)其中一个主要元素组是“控制元素”,因此用户可以告诉程序何时停止列表,暂停等等

5)程序必须在创建时显示当前列表。 将来,语音合成器将连接到它。 还将添加预测工具。 文字和图片必须很大。 非常重要:应用程序必须跨平台工作(基本上是Linux和Windows)。 必须生成可执行文件,至少对于Windows。

好吧,就是这样。 如您所见,这不是一个复杂的问题,但我真的很感激您的答案。

结帐Kivy 您可以非常快速地为您的应用程序建 它是一个NUI框架,因此一些概念完全适应,如双击:它名为doubletap,并实现为输入后处理器。 例如,您可以通过执行以下操作来更改应用程序的双击(甚至两次点击之间的距离)之间的超时:

from kivy.config import Config
Config.set('kivy', 'double_tap_timeout', '500') #< 500 ms between 2 touch tap

然后,检测您的一个小部件中的操作:

class MyCustomWidget(Widget):
    def on_touch_down(self, touch):
        # is the touch is touching on me ?
        if not self.collide_point(*touch.pos):
            return False
        if touch.is_double_tap:
            print 'its a double tap!'
        else:
            print 'its a tap'
        return super(MyCustomWidget, self).on_touch_down(touch)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM