QT开发中文网

用qt实现电子开关的类

这里是一个使用Qt实现电子开关的示例类:

#include <QCheckBox>
#include <QWidget>

class ElectronicSwitch : public QWidget {
  Q_OBJECT

public:
  ElectronicSwitch(QWidget *parent = nullptr) : QWidget(parent) {
    // 创建复选框对象
    m_checkbox = new QCheckBox(this);

    // 设置默认状态为关闭
    m_checkbox->setChecked(false);

    // 连接信号槽,当复选框状态改变时发送信号switched(bool)
    connect(m_checkbox, &QCheckBox::stateChanged, this, &ElectronicSwitch::switched);
  }

signals:
  void switched(bool state);

private:
  QCheckBox *m_checkbox;
};

使用该类时,可以将其放置在需要添加电子开关的地方,连接其switched(bool)信号来响应开关状态的改变。

例如:

#include "ElectronicSwitch.h"
#include <QVBoxLayout>
#include <QWidget>

int main(int argc, char *argv[]) {
  QApplication app(argc, argv);

  // 创建主窗口和布局管理器
  QWidget window;
  QVBoxLayout layout(&window);

  // 添加电子开关到布局中
  ElectronicSwitch electronic_switch;
  layout.addWidget(&electronic_switch);

  // 连接电子开关的switched(bool)信号,并输出当前状态
  QObject::connect(&electronic_switch, &ElectronicSwitch::switched,
                   [](bool state) { qDebug() << (state ? "ON" : "OFF"); });

  window.show();

  return app.exec();
}

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://qt.0voice.com/?id=1925

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?