是否可以在控制台QCoreApplication中使用QShortcut?我没有任何QWidget对象要传递给QShortcut的构造函数,我希望当用户按下一个键并且控制台窗口具有焦点时发出信号。
如果这样的方法是不可能的,我有什么(最好是便携的)替代方案?
提前谢谢你!
发布于 2011-07-10 12:18:38
我不确定这是不是可能的,因为在Qt中通常使用的键盘事件是由底层操作系统窗口系统传递给windows/widgets的。这就是为什么QShortcut需要一个小部件父级的原因。
当您在终端中时,您必须显式地读取终端以获取密钥。
幸运的是,这很容易做到。使用QTextStream在单独的线程中读取stdin,并将有趣的击键转换为信号或事件。
但是,请注意,在控制台中,某些特殊的击键不会按原样传递给您。当然,这在很大程度上取决于控制台。
https://stackoverflow.com/questions/6637566
复制相似问题