Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Qt创建者。更改插槽的代码生成模板_C++_Qt_Qt Creator_Code Generation - Fatal编程技术网

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

C++ Qt创建者。更改插槽的代码生成模板,c++,qt,qt-creator,code-generation,C++,Qt,Qt Creator,Code Generation,我正在使用基于Qt5.3.2的QtCreator 3.2.1 在设计器中,您可以右键单击按钮并选择“转到插槽…”。将打开一个对话框,允许您选择插槽。。。例如,Clicked() 然后您将收到自动生成的方法 void MyClass::on_Button_clicked() {} 但我使用的是代码样式,方法应命名为onButtonClicked() 如何更改默认代码生成模板以满足我的需要?Qt Designer生成的UI支持名为的功能。这将根据给定的命名约定自动连接信号和插槽。这是 on_{Se

我正在使用基于Qt5.3.2的QtCreator 3.2.1

在设计器中,您可以右键单击按钮并选择“转到插槽…”。将打开一个对话框,允许您选择插槽。。。例如,
Clicked()

然后您将收到自动生成的方法

void MyClass::on_Button_clicked()
{}
但我使用的是代码样式,方法应命名为
onButtonClicked()


如何更改默认代码生成模板以满足我的需要?

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

on_{Sender Object Name}_{Signal}
在UI文件中具有此签名和匹配小部件/信号的每个方法将自动连接为一个插槽

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

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

  • 转到信号/插槽视图(快捷方式F4)并拖放对象以选择信号和插槽
  • 或者打开信号/插槽编辑器(通常在右下角区域),通过输入发送器、信号、接收器和插槽来添加连接
使用这些方法,您可以选择任何名称的插槽

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

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


这只能在UI的根小部件或占位符小部件上实现,我认为您无法更改默认名称。但您可以右键单击生成的插槽并选择“重构->转换为驼峰案例”

,但正如king_nak指出的那样,它不会自动连接,您需要手动连接插槽。