Qt中:设置一个按钮, 当按钮按下时,发送一个自定义信号 另外一个对应的槽函数得到响应,打印“收到信号”;
时间: 2024-02-11 17:04:14 浏览: 421
Qt实现自定义按钮的状态
在Qt中设置一个按钮并发送自定义信号的过程如下:
1. 在Qt Creator中打开设计界面,将一个按钮控件拖拽到窗口中。
2. 右键点击按钮控件,选择“添加行为”,然后选择“添加信号/槽”。
3. 在弹出的对话框中,选择“自定义信号”,并设置信号的名称。
4. 在代码中定义该自定义信号:
```cpp
class MyButton : public QPushButton
{
Q_OBJECT
public:
MyButton(QWidget *parent = nullptr);
~MyButton();
signals:
void mySignal();
private:
void onClicked();
};
MyButton::MyButton(QWidget *parent)
: QPushButton(parent)
{
connect(this, &QPushButton::clicked, this, &MyButton::onClicked);
}
MyButton::~MyButton()
{
}
void MyButton::onClicked()
{
emit mySignal();
}
```
5. 在窗口中使用自定义按钮,并连接槽函数:
```cpp
MyButton *button = new MyButton(this);
connect(button, &MyButton::mySignal, this, [](){
qDebug() << "收到信号";
});
```
这样,当按钮被按下时,就会触发自定义信号,进而执行槽函数,并打印出“收到信号”。
阅读全文