我将为有运动问题的人开发一个基于python的应用程序。
我在这里读了一些关于用python创建gui的常用工具包的一般特性的文章,但是希望您能根据我的需求给我一些建议。
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)
关于python - 适用于辅助功能应用程序的Python GUI,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8427744/