c++ - Qt 创建者。更改插槽的代码生成模板

标签 c++ qt qt-creator code-generation

我使用的是基于 Qt 5.3.2 的 Qt Creator 3.2.1

在设计器中,您可以右键单击按钮并选择“转到插槽...”。将打开一个对话框,允许您选择一个插槽...例如 Clicked()
然后您将收到自动生成的方法

void MyClass::on_Button_clicked()
{}

但我使用的代码风格应将方法命名为 onButtonClicked()
如何更改默认的代码生成模板以满足我的需求?

最佳答案

Qt Designer 生成的 UI 支持名为 Automatic Connections 的功能。这将根据给定的命名约定自动连接信号和槽。这是

on_{Sender Object Name}_{Signal}

UI 文件中具有此签名和匹配的 Widget/Signal 的每个方法都会自动连接为插槽。

此机制在 Qt 中是硬编码的,您无法更改它。

但是,您可以在设计器中手动连接信号/槽:

  • 转到信号/插槽 View (快捷键 F4)并拖放对象以选择信号和插槽
  • 或打开信号/插槽编辑器(通常位于右下区域)并通过输入发送方、信号、接收方和插槽来添加连接

通过这些方法,您可以选择任意名称的插槽

更新:
当使用带有 QtDesigner 不知道的您自己的信号/槽的自定义小部件时,您可以在上面提到的信号/槽拖放方法中添加它们。只需单击弹出编辑器中的“更改...”按钮,然后添加信号/槽的签名。

您必须确保实例化 UI 的具体类实际上具有这些信号/槽。

这仅适用于 UI 的根小部件或占位符小部件

关于c++ - Qt 创建者。更改插槽的代码生成模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28987152/

相关文章:

c++ - 错误 22error LNK2005 : _realloc already defined in libcmt. lib(realloc.obj) MSVCRT.lib

c++ - 为什么在这个复制赋值构造函数结束时没有释放获取的资源?

c++ - 如何在 Qt 中制作一个恒定正确的只读模型/ View 架构?

c++ - 多个子项目之间共享预处理宏定义,即共享库

带有 repl 的 C++ IDE?

c++ - 抛出的异常中的文本去哪里了?

c++ - 从函数访问类

c++ - 为什么 QString 和 vector<unique_ptr<int>> 在这里显得不兼容?

qt-creator - 如何在 QTCreator 2.7 中展开所有搜索结果

c++ - 我的 .exe 在 Qt Creator 中运行后立即崩溃