我已经玩 Qt 几个月了。我通过编码和重新创建各种版本的代码来自学;QML、XML、C++、GUI。
这种方法给了我很多见识。但是我卡住了,下面的代码主要是在xml中完成。但我无法让我的信号和插槽工作。一切对我来说都很好,我想我错过了一些东西。
<ui version="4.0">
<class>enTry1</class>
<widget class="QMainWindow" name="enTry1">
<property name="geometry" >
<rect>
<x>0</x>
<y>0</y>
<width>500</width>
<height>200</height>
</rect>
</property>
<property name="windowTitle">
<string>All xml signals and slots example</string>
</property>
<widget class="QWidget" name="centralWidget">
<widget class="QPushButton" name="pushButton">
<property name="geometry">
<rect>
<x>70</x>
<y>75</y>
<width>75</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>Pushbutton</string>
</property>
</widget>
<widget class="QPushButton" name="pushButton_2">
<property name="geometry">
<rect>
<x>70</x>
<y>125</y>
<width>75</width>
<height>23</height>
</rect>
</property>
<property name="text">
<string>Pushbutton_2</string>
</property>
</widget>
<widget class="QLabel" name="label">
<property name="geometry">
<rect>
<x>80</x>
<y>40</y>
<width>46</width>
<height>13</height>
</rect>
</property>
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</widget>
<widget class="QMenuBar" name="menuBar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>21</height>
</rect>
</property>
</widget>
<widget class="QToolBar" name="mainToolBar">
<attribute name="toolBarArea">
<enum>TopToolBarArea</enum>
</attribute>
<attribute name="toolBarBreak">
<bool>false</bool>
</attribute>
</widget>
<widget class="QStatusBar" name="statusBar" />
</widget>
<layoutDefault spacing="6" margin="11" />
<resources/>
<connections>
<connection>
<sender>pushButton</sender>
<signal>clicked()</signal>
<receiver>enTry1</receiver>
<slot>button1pressed()</slot>
<hints>
<hint type="sourcelabel">
<x>113</x>
<y>138</y>
</hint>
<hint type="destinationlabel">
<x>207</x>
<y>136</y>
</hint>
</hints>
</connection>
<connection>
<sender>pushButton_2</sender>
<signal>clicked()</signal>
<receiver>enTry1</receiver>
<slot>button2pressed()</slot>
<hints>
<hint type="sourcelabel">
<x>127</x>
<y>199</y>
</hint>
<hint type="destinationlabel">
<x>206</x>
<y>183</y>
</hint>
</hints>
</connection>
</connections>
<slots>
<slot>button1pressed()</slot>
<slot>button2pressed()</slot>
</slots>
</ui>
为了提供更多信息,当按下按钮时,代码什么也不运行。错误说;
QObject::connect: No such slot QLabel::button1pressed() in ./ui_entry1.h:69
QObject::connect: (sender name: ‘pushButton’)
QObject::connect: (receiver name: ‘label’)
QObject::connect: No such slot enTry1::button2pressed() in ./ui_entry1.h:70
QObject::connect: (sender name: ‘pushButton_2’)
QObject::connect: (receiver name: ‘enTry1’)
有什么建议么…。??