Qt C++ 实现滑动开关组件:初始关闭,点击控制状态
Qt C++ 实现滑动开关组件:初始关闭,点击控制状态
以下代码演示使用 Qt C++ 设计一个简单的滑动开关组件,初始状态为关闭,通过点击按钮切换状态,并判断当前状态是开启还是关闭。
#include <QApplication>
#include <QWidget>
#include <QPushButton>
#include <QVBoxLayout>
class SwitchButton : public QPushButton {
Q_OBJECT
public:
SwitchButton(QWidget *parent = nullptr) : QPushButton(parent) {
setCheckable(true);
setChecked(false);
setFixedSize(60, 30);
setStyleSheet("QPushButton { border-radius: 15px; background-color: gray; }"
"QPushButton:checked { background-color: green; }");
}
};
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QWidget window;
QVBoxLayout layout(&window);
SwitchButton switchButton;
layout.addWidget(&switchButton);
QObject::connect(&switchButton, &SwitchButton::clicked, [&switchButton]() {
if (switchButton.isChecked()) {
qDebug() << "开启状态";
} else {
qDebug() << "关闭状态";
}
});
window.show();
return app.exec();
}
#include "main.moc"
这个滑动开关组件继承自 QPushButton,并设置了固定的尺寸和样式。通过设置 setCheckable(true) 和 setChecked(false),将按钮设置为可选中状态,并初始状态为未选中。点击按钮后,通过 isChecked() 方法判断按钮的选中状态,从而确定滑动按钮是开启状态还是关闭状态。
原文地址: https://www.cveoy.top/t/topic/fAle 著作权归作者所有。请勿转载和采集!