2011-07-09 163 views
2

是否可以在控制台QCoreApplication中使用QShortcut?我没有任何QWidget对象传递给QShortcut的构造函数,我希望当用户按下某个键并且控制台窗口具有焦点时发出信号。QShortcut控制台应用程序(无GUI)

如果这样的方法是不可能的我有什么(便携式)替代品吗?

预先感谢您!

回答

2

我不确定这是否完全可能,因为Qt中通常使用的键盘事件通过底层操作系统窗口系统传递给窗口/窗口小部件。有一个原因为什么QShortcut要求一个窗口小部件父项。

当您在终端中时,您必须显式读取终端以获取密钥。

幸运的是,这很容易做到。使用QTextStream在单独的线程中从stdin中读取,并将有趣的击键转换为信号或事件。

但请注意,在游戏机中,某些特殊按键不会按原样传送给您。当然,这在很大程度上取决于控制台。

相关问题