| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- #include "audio_widget.h"
- #include <QLayout>
- #include <qglobal.h>
- AudioWidget::AudioWidget(QWidget* parent)
- : QWidget(parent)
- {
- _CreateUi();
- _CreateConnect();
- _mutebox->setChecked(true);
- }
- void AudioWidget::_CreateUi()
- {
- auto hLayout = new QHBoxLayout;
- _nameLabel = new QLabel;
- _mutebox = new QCheckBox("静音");
- _render = new AudioRender;
- _volumeBox = new QDoubleSpinBox;
- _volumeBox->setMinimum(0);
- _volumeBox->setValue(1);
- hLayout->addWidget(_nameLabel);
- hLayout->addWidget(_mutebox);
- auto scaleLayout = new QHBoxLayout;
- scaleLayout->addWidget(new QLabel("调幅:"));
- scaleLayout->addWidget(_volumeBox);
- hLayout->addLayout(scaleLayout);
- auto vLayout = new QVBoxLayout;
- vLayout->addLayout(hLayout);
- vLayout->addWidget(_render);
- setLayout(vLayout);
- }
- void AudioWidget::_CreateConnect()
- {
- connect(_mutebox, &QCheckBox::stateChanged, [this](int) {
- if (_mutebox->isChecked()) {
- emit SetVolumeScale(0);
- _volumeBox->setEnabled(false);
- } else {
- _volumeBox->setEnabled(true);
- emit SetVolumeScale(_volumeBox->value());
- }
- });
- connect(_volumeBox, QOverload<double>::of(&QDoubleSpinBox::valueChanged), [this] {
- emit SetVolumeScale(_volumeBox->value());
- });
- }
|