Component类继承自QWidget里添加widget,添加button,添加connect ,分成头文件和源文件
时间: 2024-03-04 14:49:43 浏览: 102
好的,以下是Component类的头文件和源文件示例,其中包括添加widget、添加button和添加connect的实现。
Component.h:
```cpp
#ifndef COMPONENT_H
#define COMPONENT_H
#include <QWidget>
#include <QPushButton>
class Component : public QWidget
{
Q_OBJECT
public:
explicit Component(QWidget *parent = nullptr);
private:
QPushButton *m_button;
};
#endif // COMPONENT_H
```
Component.cpp:
```cpp
#include "Component.h"
Component::Component(QWidget *parent) : QWidget(parent)
{
// 添加widget
QWidget *widget = new QWidget(this);
widget->setFixedSize(200, 100);
widget->move(50, 50);
// 添加button
m_button = new QPushButton(widget);
m_button->setText("Click me");
m_button->setFixedSize(100, 30);
m_button->move(50, 30);
// 添加connect
connect(m_button, &QPushButton::clicked, this, [this](){
qDebug() << "Button clicked";
});
}
```
在上述代码中,我们在Component类的构造函数中添加了一个widget和一个button,并将button的clicked信号与一个lambda表达式连接起来,在button被点击时输出调试信息。
请注意,在添加widget时,我们需要在Component类中创建一个指向QWidget对象的指针,并将其设置为此类的子部件。这是因为QWidget对象是Qt中的基本构建块,我们需要将其添加到Component类中以便进行布局和管理。
另外,我们还需要在Component类的头文件中添加Q_OBJECT宏,以便使用Qt的信号和槽机制。
阅读全文