2010-12-01 32 views
1

我是QT的总新手。使用QT设计器创建的新插槽的代码在哪里?

我使用Qt 4.7.1的Visual Studio 2008年的工作

我想实现一个按钮,这是所有覆盖图像,按下时,图像的变化。 (图像按钮) 我想使用QT设计器将按钮放在正确的布局然后编程处理按下事件(..信号..)更改按钮上的图标。

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

回答

1

Sry for my english。这很糟糕,但我会尽力帮助你。

你必须使用继承方法。所以:
•您创建了一个表单,并在该表单上添加了一个与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中的信号和插槽连接起来。只需在设计人员中添加现在的插槽或信号,就可以根据您在代码中设置的名称对其进行重命名。

希望这会帮助你。如果你不能解决你的问题,给我写信息。我会尽力帮忙。

+1

REALLY CONFUSED的问题在于设计者没有显示您定义的插槽。如果你定义了一个插槽'mySlot',你必须手动将它添加到设计器'插槽和信号模式'中的列表中。 – Hanan 2010-12-09 11:42:00

相关问题