Qt C++设计一个滑动开关组件初始为关闭设置手动触发状态函数判断滑动按钮是开启状态还是关闭状态
下面是一个简单的滑动开关组件的示例代码:
#include <QApplication>
#include <QWidget>
#include <QSlider>
#include <QLabel>
class SlideSwitch : public QWidget
{
Q_OBJECT
public:
SlideSwitch(QWidget *parent = nullptr) : QWidget(parent)
{
slider = new QSlider(Qt::Horizontal, this);
slider->setRange(0, 1);
slider->setValue(0);
slider->setFixedSize(50, 30);
label = new QLabel("关闭", this);
label->setFixedSize(50, 30);
connect(slider, &QSlider::valueChanged, this, &SlideSwitch::updateState);
updateState(slider->value());
}
void updateState(int value)
{
if (value == 0) {
label->setText("关闭");
// 执行关闭状态的操作
} else {
label->setText("开启");
// 执行开启状态的操作
}
}
private:
QSlider *slider;
QLabel *label;
};
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
SlideSwitch slideSwitch;
slideSwitch.show();
return app.exec();
}
#include "main.moc"
这个示例中,我们使用了QSlider来实现滑动开关的功能,通过设置setRange(0, 1)来限定滑块的取值范围为0和1,然后通过setValue(0)来将滑块初始状态设置为关闭。在updateState函数中,我们根据滑块的值来更新标签的文本,并执行相应状态的操作。
你可以根据需要在updateState函数中添加你自己的逻辑来处理滑动开关的状态。
原文地址: http://www.cveoy.top/t/topic/ix1S 著作权归作者所有。请勿转载和采集!