使用QT设计器创建的新插槽的代码在哪里?

时间:2010-12-01 12:37:47

标签: qt-designer

我是QT的新手。

我正在使用visual studio 2008上的qt 4.7.1。

我正在尝试实现一个全部被图像覆盖的按钮,按下时,图像会发生变化。 (图像键) 我正在尝试使用QT设计器将按钮置于当前布局中,然后以编程方式处理按下的事件(..signal ..)以更改按钮上的图标。

创建新的mainWindow。在其中放置一个工具按钮。 切换到插槽和信号模式。从按下的按钮()到窗口上的新slot1()创建了一个信号槽。 现在我在哪里放入slot1()的代码?

1 个答案:

答案 0 :(得分:1)

谢谢我的英语。这很糟糕,但我会尽力帮助你。

您必须使用继承方法。所以:
•您创建了一个表单,在该表单上添加了与slot1()的连接 •在项目中包含您的表单,编译它。将生成名为ui_FormName.h的文件。在该文件的底部,您将找到如下代码:
namespace Ui {
class MainWindow: public Ui_MainWindow {};
} // namespace Ui

你必须:
1)创建一个新类,继承自QMainWindow类 2)在包含生成的h文件的头文件中,添加Ui :: MainWindow类型的成员,该成员在生成的.h文件中声明(例如:Ui::MainWindow* m_puiTmp;)。 3)还添加代码:
public slots: // or private slots:, or protected slots: ... Whatever.
void slot1();

然后为新类中的函数创建实现。别忘了添加 在构造函数中m_puiTmp->setupUi( this );,然后为slot1()广告位创建实现。

您还可以在派生类中描述插槽和信号,然后将它们与QtDesigner中的信号和插槽连接。只需在设计器中添加现在的插槽或信号时,请根据您在代码中设置的名称重命名它们。

希望这会对你有所帮助。如果您无法解决问题,请给我留言。我会尽力帮忙。