我是QT的新手。
我正在使用visual studio 2008上的qt 4.7.1。
我正在尝试实现一个全部被图像覆盖的按钮,按下时,图像会发生变化。 (图像键) 我正在尝试使用QT设计器将按钮置于当前布局中,然后以编程方式处理按下的事件(..signal ..)以更改按钮上的图标。
创建新的mainWindow。在其中放置一个工具按钮。 切换到插槽和信号模式。从按下的按钮()到窗口上的新slot1()创建了一个信号槽。 现在我在哪里放入slot1()的代码?
答案 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中的信号和插槽连接。只需在设计器中添加现在的插槽或信号时,请根据您在代码中设置的名称重命名它们。
希望这会对你有所帮助。如果您无法解决问题,请给我留言。我会尽力帮忙。