【问题标题】:QShortcut in console application (no GUI)控制台应用程序中的 QShortcut(无 GUI)
【发布时间】:2011-10-02 00:39:54
【问题描述】:

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

如果这种方法不可行,我有什么(最好是便携的)替代方案?

提前谢谢你!

【问题讨论】:

    标签: c++ qt console-application hotkeys


    【解决方案1】:

    我不确定这是否可能,因为通常在 Qt 中使用的键盘事件是由底层操作系统窗口系统传递到窗口/小部件的。 QShortcut 需要小部件父级是有原因的。

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-22
      • 1970-01-01
      • 2021-09-18
      • 2016-03-07
      • 1970-01-01
      相关资源
      最近更新 更多