qt5 信号与槽 示例
时间: 2024-08-21 11:00:38 浏览: 45
在Qt 5中,信号(Signal)和槽(Slot)是一种机制,用于事件处理和组件间的通信。它们使得UI组件能够通知其他组件某个事件已经发生,而不需要硬编码回调函数。这里有一个简单的示例:
```cpp
// 定义一个QPushButton,并关联一个点击(clicked)信号
QPushButton *button = new QPushButton("Click me!", this);
QObject::connect(button, &QPushButton::clicked, this, &YourClass::onButtonClicked);
// YourClass 类中的槽函数
void YourClass::onButtonClicked() {
qDebug() << "Button was clicked!";
// 这里可以添加具体的响应逻辑,如更新UI、发送数据等
}
```
在这个例子中:
- `QPushButton::clicked` 是一个预定义的信号,当按钮被点击时触发。
- `this, &YourClass::onButtonClicked` 指定了信号的接收者(当前对象)以及连接到的方法(槽函数)。
- 当用户点击按钮时,`onButtonClicked` 函数会被自动调用。
阅读全文