Russian Qt Forum
Ноябрь 25, 2024, 11:58
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Вопросы новичков
>
Установка скорости com-порта через combobox
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Установка скорости com-порта через combobox (Прочитано 1841 раз)
Uhbif
Новичок
Offline
Сообщений: 10
Установка скорости com-порта через combobox
«
:
Декабрь 04, 2023, 15:00 »
Хочу в программе сделать установку скорости ком-порта через combobox. Добавил combobox, написал следующий код.
void MainWindow::on_baudRateBox_activated(int index_baud) //скорость
{
QSerialPort serialPort;
if(index_baud == 0)
{
serialPort.setBaudRate(QSerialPort::Baud115200);
}
else if(index_baud == 1)
{
serialPort.setBaudRate(QSerialPort::Baud38400);
}
else if(index_baud == 2)
{
serialPort.setBaudRate(QSerialPort::Baud19200);
}
else if(index_baud == 3)
{
serialPort.setBaudRate(QSerialPort::Baud9600);
}
}
Добавил кнопку применить, в ней код следующий.
void MainWindow::on_pushButton_6_clicked()// кнопка применения настроек com-порта
{
QSerialPort serialPort;
ui->baudRateBox->currentIndex();
ui->dataBitsBox->currentIndex();
ui->parityBox->currentIndex();
ui->comboBox->currentIndex();
}
То есть устанавливаю значения согласно текущих индексов combobox. Далее кнопка передать.
void MainWindow::on_pushButton_clicked()//кнопка передачи
{
QSerialPort serialPort;
serialPort.setPortName(this->ui->cmbPort->currentText()); // указали имя к какому порту будем подключаться
// serialPort.setBaudRate(QSerialPort::Baud115200);.......
и вот здесь почему то надо заново указывать скорость, то есть если строка со скоростью закомментирована передача не происходит. Возможно ли как то обойти эту проблему. Или при передаче каждый раз надо устанавливать скорость?
И еще хотел спросить можно ли как то прочитать именно текущую установленную скорость а не все поддерживаемые скорости ком-порта с помощью QSerialPortInfo::standardBaudRates().
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Установка скорости com-порта через combobox
«
Ответ #1 :
Декабрь 04, 2023, 21:19 »
ты в on_pushButton_clicked создаешь новый объект QSerialPort, а в on_baudRateBox_activated заполняешь данные у временного объекта, который разрушается после выхода из метода. тебе надо либо сделать объект QSerialPort членом класса либо читать все значения комбобоксов прямо в on_pushButton_clicked.
эта ошибка непосредственно к Qt никак не относится, очень советую подучить С++ и ООП.
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Uhbif
Новичок
Offline
Сообщений: 10
Re: Установка скорости com-порта через combobox
«
Ответ #2 :
Декабрь 05, 2023, 10:08 »
Спасибо за совет!
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...