Добавлено переключение на три разных режима. Значения спинбоксов (Мар…#5
Добавлено переключение на три разных режима. Значения спинбоксов (Мар…#5DaShakuev merged 4 commits intotest_qt_ros_guifrom
Conversation
…ша, крена, глубины итд сохраняются)
mainwindow.cpp
Outdated
| &RosBridge::zeroYaw); | ||
|
|
||
| // Инициализация трех кнопок для режимов | ||
| if (ui->pushButton_speedFast_2) { |
There was a problem hiding this comment.
почему название кнопки pushButton_speedFast_2?
Есть pushButton_speedFast_1?
сделай просто pushButton_speedFast, если можно. Аналогично с другими двумя кнопками
mainwindow.cpp
Outdated
| // Инициализация трех кнопок для режимов | ||
| if (ui->pushButton_speedFast_2) { | ||
| connect(ui->pushButton_speedFast_2, &QPushButton::clicked, | ||
| this, &MainWindow::setSpeedModeFast); |
There was a problem hiding this comment.
сможешь сделать один слод setSpeedMode, который бы смог работать для каждой кнопки
mainwindow.h
Outdated
| private: | ||
|
|
||
|
|
||
| enum SpeedMode { SLOW = 0, MEDIUM = 1, FAST = 2 }; // перечисление, для трех режимов скоростей |
There was a problem hiding this comment.
Рекомендуется использовать enum class с фиксированным базовым типом (uint8_t)
enum class SpeedMode : uint8_t {
Slow = 0,
Medium = 1,
Fast = 2
};
mainwindow.h
Outdated
|
|
||
|
|
||
| enum SpeedMode { SLOW = 0, MEDIUM = 1, FAST = 2 }; // перечисление, для трех режимов скоростей | ||
| SpeedMode currentMode = MEDIUM; // храним текущий режим, по умолчанию среднйи |
There was a problem hiding this comment.
оставь здесь лучше парметр currentMode без инициализации и инициализируй его в конструкторе через setSpeedMode
mainwindow.h
Outdated
|
|
||
|
|
||
|
|
mainwindow.h
Outdated
|
|
||
|
|
mainwindow.h
Outdated
| /* | ||
| map - словарь из словарей | ||
| int - первый ключ, отвечает за номер режима 0, 1, 2 | ||
| QString - второй ключ , имя спинбокса | ||
|
|
||
| SpeedMode = { | ||
| 0: { // SLOW режим | ||
| "surge": 10.0, | ||
| "sway": 10.0, | ||
| "depth": 10.0, | ||
| }, | ||
| 1: { // MEDIUM режим | ||
| "surge": 50.0, | ||
| "sway": 50.0, | ||
| }, | ||
| 2: { // FAST режим | ||
| "surge": 100.0, | ||
| "sway": 100.0, | ||
| } | ||
| } | ||
|
|
||
| */ |
mainwindow.cpp
Outdated
| void MainWindow::onGainValueChanged() { | ||
| // Сохраняем изменения в текущем режиме | ||
| saveCurrentModeGains(); | ||
| } |
There was a problem hiding this comment.
стрем, что onGainValueChanged используется только, чтобы вызвать saveCurrentModeGains.
удали onGainValueChanged и засунь вызов saveCurrentModeGains в лямбда функцию
mainwindow.cpp
Outdated
| // Подключаем сигналы | ||
| for (auto spinBox : gainSpinBoxes) { | ||
| connect(spinBox, QOverload<int>::of(&QSpinBox::valueChanged), | ||
| this, &MainWindow::onGainValueChanged); |
There was a problem hiding this comment.
замени слот onGainValueChanged на saveCurrentModeGains в лямбда функции
версия где геймпад написан в отдельный класс
…ша, крена, глубины итд сохраняются)