qt qtoolbutton按钮实现按一下启动,在按一下取消详细点
时间: 2023-06-13 22:04:27 浏览: 152
QToolButton 按钮可以通过设置不同的状态来实现按一下启动,在按一下取消的效果。具体实现方式如下:
1. 设置按钮的初始状态为“启动”状态,可以使用 `setIcon()` 方法设置按钮的图标为启动状态的图标。
2. 监听按钮的 `clicked` 信号,在槽函数中判断按钮当前的状态,如果是“启动”状态,则将按钮的状态设置为“取消”状态,并将按钮的图标设置为取消状态的图标;如果是“取消”状态,则将按钮的状态设置为“启动”状态,并将按钮的图标设置为启动状态的图标。
下面是具体的代码实现:
```
// 设置按钮的初始状态为“启动”状态
QToolButton *button = new QToolButton;
button->setIcon(QIcon(":/start.png"));
button->setCheckable(true);
button->setChecked(false);
// 监听按钮的 clicked 信号
connect(button, &QToolButton::clicked, [=]() {
if (button->isChecked()) {
// 按钮的状态为“取消”,将按钮的状态设置为“启动”,并设置图标为启动状态的图标
button->setIcon(QIcon(":/start.png"));
button->setChecked(false);
} else {
// 按钮的状态为“启动”,将按钮的状态设置为“取消”,并设置图标为取消状态的图标
button->setIcon(QIcon(":/cancel.png"));
button->setChecked(true);
}
});
```
其中,`:start.png` 和 `:cancel.png` 是启动状态和取消状态的图标文件路径。你需要根据实际情况进行替换。
阅读全文