是否可以在控制台QCoreApplication中使用QShortcut?我没有任何QWidget对象传递给QShortcut的构造函数,我希望当用户按下一个键并且控制台窗口具有焦点时发出信号。
如果不可能采用这种方法,那么我可以使用哪种替代方案(可行的便携式)?
提前谢谢!
答案 0 :(得分:2)
我不确定这是否可能,因为通常在Qt中使用的意义上的键盘事件由底层OS窗口系统传递给windows / widgets。 QShortcut
需要小部件父级的原因。
当您在终端时,您必须明确阅读终端以获取密钥。
幸运的是,这很容易做到。使用QTextStream
在单独的线程中从stdin
读取,并将有趣的击键转换为信号或事件。
但请注意,在控制台中,某些特殊按键将不会按原样传送给您。当然,这在很大程度上取决于控制台。