小编Dmi*_*lih的帖子

为具有依赖项的共享库安装 EXPORT 问题

我尝试从一个项目构建两个库(比如AB)。我add_subdirectory在根 cmake 文件中使用cmake 命令。B取决于A

当我尝试添加

INSTALL (TARGETS B EXPORT B
    PUBLIC_HEADER DESTINATION "include/B"
    LIBRARY DESTINATION "lib"
    ARCHIVE DESTINATION "lib")

INSTALL (EXPORT B DESTINATION "./")
Run Code Online (Sandbox Code Playgroud)

CMake 警告我有关错误与INSTALL (EXPORT .... 它打印:

CMake 错误:安装(导出“B”...)包括目标“B”,它需要目标“A”不在导出集中。

dependencies export cmake

12
推荐指数
1
解决办法
1万
查看次数

如何根据当前键盘布局从QKeyEvent捕获QKeySequence?

我需要这样做来配置我的应用程序.我有QLineEdit字段和重新实现的keyPressEvent方法.

QKeyEvent *ke = ...
QString txt;

if(ke->modifiers() & Qt::ControlModifier)
    txt += "Ctrl+";
if(ke->modifiers() & Qt::AltModifier)
    txt += "Alt+";
if(ke->modifiers() & Qt::ShiftModifier)
    txt += "Shift+";

if(ke->key() >= Qt::Key_0 && ke->key() <= Qt::Key_9)
    txt += ('0' + ke->key() - Qt::Key_0);
else if(ke->key() >= Qt::Key_A && ke->key() <= Qt::Key_Z)
    txt += ('A' + ke->key() - Qt::Key_A);
ui->hotkeyEdit->setText(txt);
Run Code Online (Sandbox Code Playgroud)

但是这个解决方案只能用英文字符创建快捷方式.例如,当我使用俄语键盘布局时,此代码将显示相同的序列,但使用英文字符,放在相同的键盘键上.

qt cross-platform keyboard-shortcuts

11
推荐指数
2
解决办法
2万
查看次数