如何调用qt_sequence_no_mnemonics?
How to call qt_sequence_no_mnemonics?
关于 qt_sequence_no_mnemonics()
,qt 文档说“此函数未在任何 Qt 的头文件中声明。要在您的应用程序中使用它,请在调用它之前声明函数原型。”
但这意味着什么?我只看到在未分发的 cpp 文件中声明了此函数。我如何声明该函数,以便我可以调用它?
当我调用它时,它是在 QKeySequence 的 实例 上吗?它是静态的吗?有人可以帮助我理解该文档的含义吗?
文件在这里:https://code.woboq.org/qt5/qtbase/src/gui/kernel/qkeysequence.cpp.html
编辑 1:我尝试删除 QKeySequence 的每个导入,并将其隔离在执行此操作的新文件后面:
struct Configure
{
Configure()
{
// Qt::qt_set_sequence_auto_mnemonic( false );
// QKeySequence::qt_set_sequence_auto_mnemonic( false );
qt_set_sequence_auto_mnemonic( false );
}
};
Configure configure;
但这并没有导致删除由全局菜单创建的快捷方式冲突。 MenuBar 菜单仍然定义了“助记符”,它们仍然会破坏应用程序。
仅供参考 - 我正在尝试修改 KDevelop,而不是编写我自己的应用程序。我可以 post 链接到 KDevelop 文件,但我没有做其他更改。
您可以通过将其放在 .cpp 文件的顶部附近来声明该函数(可能就在 #includes 之后):
extern void qt_set_sequence_auto_mnemonic(bool);
... 这将告诉您的编译器该函数存在,以便稍后在同一个 .cpp 文件中的代码可以调用它而不会产生编译时错误,例如:
int main(int argc, char ** argv)
{
qt_set_sequence_auto_mnemonic(true);
[...]
}
关于 qt_sequence_no_mnemonics()
,qt 文档说“此函数未在任何 Qt 的头文件中声明。要在您的应用程序中使用它,请在调用它之前声明函数原型。”
但这意味着什么?我只看到在未分发的 cpp 文件中声明了此函数。我如何声明该函数,以便我可以调用它?
当我调用它时,它是在 QKeySequence 的 实例 上吗?它是静态的吗?有人可以帮助我理解该文档的含义吗?
文件在这里:https://code.woboq.org/qt5/qtbase/src/gui/kernel/qkeysequence.cpp.html
编辑 1:我尝试删除 QKeySequence 的每个导入,并将其隔离在执行此操作的新文件后面:
struct Configure
{
Configure()
{
// Qt::qt_set_sequence_auto_mnemonic( false );
// QKeySequence::qt_set_sequence_auto_mnemonic( false );
qt_set_sequence_auto_mnemonic( false );
}
};
Configure configure;
但这并没有导致删除由全局菜单创建的快捷方式冲突。 MenuBar 菜单仍然定义了“助记符”,它们仍然会破坏应用程序。
仅供参考 - 我正在尝试修改 KDevelop,而不是编写我自己的应用程序。我可以 post 链接到 KDevelop 文件,但我没有做其他更改。
您可以通过将其放在 .cpp 文件的顶部附近来声明该函数(可能就在 #includes 之后):
extern void qt_set_sequence_auto_mnemonic(bool);
... 这将告诉您的编译器该函数存在,以便稍后在同一个 .cpp 文件中的代码可以调用它而不会产生编译时错误,例如:
int main(int argc, char ** argv)
{
qt_set_sequence_auto_mnemonic(true);
[...]
}