1

QtCreator 2.7.2,我使用Qt Creator设计了一个连接,我可以在文件*.ui中看到它,但是我在构建后生成的文件ui_*.h中找不到它,它在哪里?我很好奇。

4

2 回答 2

3

它就在那里,通常在 setupUi 方法结束时。只是看起来更好。

例如,.ui 中的这个块

 <connections>
  <connection>
   <sender>checkBox</sender>
   <signal>toggled(bool)</signal>
   <receiver>checkBox_2</receiver>
   <slot>setChecked(bool)</slot>
  </connection>
 </connections>

结果是

QObject::connect(checkBox, SIGNAL(toggled(bool)), checkBox_2, SLOT(setChecked(bool)));

在生成的标头中。

于 2013-07-18T08:11:57.963 回答
0

元对象编译器 (moc) 为信号和槽生成粘合代码。UI 编辑器只处理连接并将必要的内容发送到 ui 文件。Uic 将这些东西编译成 c++ 头文件,然后在我的 moc 中使用。

于 2013-07-18T08:15:47.943 回答