首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何打电话给qt_sequence_no_mnemonics?

如何打电话给qt_sequence_no_mnemonics?
EN

Stack Overflow用户
提问于 2021-12-19 02:16:41
回答 1查看 73关注 0票数 1

关于qt_sequence_no_mnemonics(),qt文档说:“这个函数没有在Qt的任何头文件中声明。要在应用程序中使用它,在调用它之前先声明函数原型。”

但这意味着什么呢?我只看到在未分发的cpp文件中声明了此函数。我如何声明这个函数,以便我可以调用它?

当我调用它时,它是在QKeySequence的一个实例上吗?是某种程度上的静态吗?有人能帮我理解这些文档的含义吗?

文件在这里:https://code.woboq.org/qt5/qtbase/src/gui/kernel/qkeysequence.cpp.html

编辑1:我尝试删除QKeySequence的每个导入,并将其隐藏在一个新文件后面,这样做:

代码语言:javascript
复制
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,而不是编写我自己的应用程序。我可以发布到KDevelop文件的链接,但我没有做任何其他更改。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-19 04:15:02

您可以通过将它放在.cpp文件的顶部(可能就在#include之后)来声明该函数:

代码语言:javascript
复制
extern void qt_set_sequence_auto_mnemonic(bool);

..。这将告诉编译器函数是存在的,以便稍后在同一个.cpp文件中的代码可以调用它,而不会产生编译时错误,例如:

代码语言:javascript
复制
int main(int argc, char ** argv)
{
   qt_set_sequence_auto_mnemonic(true);
   [...]
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70408561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档