QtSerialPort, Проблема сборки QtSerialPort под Windows |
Здравствуйте, гость ( Вход | Регистрация )
QtSerialPort, Проблема сборки QtSerialPort под Windows |
kuzulis |
9.10.2013, 17:56
Сообщение
#91
|
Активный участник Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: 7 |
|
|
|
Алексей1153 |
14.10.2013, 9:18
Сообщение
#92
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
Анна, произведи класс от QSerialPort и перегрузи
|
|
|
Анна |
21.10.2013, 8:12
Сообщение
#93
|
Активный участник Группа: Участник Сообщений: 276 Регистрация: 22.5.2008 Из: Зеленоград Пользователь №: 181 Спасибо сказали: 30 раз(а) Репутация: 4 |
Жаль, что errorString() не перегружена для QSerialPort... по крайней мере в QT-4.8.4 . А, простите, зачем это нужно? В смысле, зачем нужно? А зачем тогда нужна errorString()? Хотя бы для какого-то единообразия. У меня три приложения работают с компортом, а у напарника с десяток, наверное. Хотелось бы, чтобы об одной и той же ошибке все приложения сообщали одинаковую информацию. Приходится таскать за собой довесок. К тому же как раз ради удобной обёртки и взяла этот класс. До этого пользовалась доморощенными методами. Анна, произведи класс от QSerialPort и перегрузи Кеп, ты? Но, вообще, перегружать класс ради сообщений об ошибке не смешно. Кстати, хотела узнать, под Линуксом никаких проблем с работой QSerialPort порта нету? Мне ещё предстоит линуксоида убедить перейти на этот класс. |
|
|
kuzulis |
21.10.2013, 9:59
Сообщение
#94
|
Активный участник Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: 7 |
Цитата(Анна) В смысле, зачем нужно? А зачем тогда нужна errorString()? Хотя бы для какого-то единообразия. У меня три приложения работают с компортом, а у напарника с десяток, наверное. Хотелось бы, чтобы об одной и той же ошибке все приложения сообщали одинаковую информацию. Приходится таскать за собой довесок. К тому же как раз ради удобной обёртки и взяла этот класс. До этого пользовалась доморощенными методами. Можно конкретный пример? Что не устраивает то конкретно? Любые предложения приветствуются. Цитата(Анна) Кстати, хотела узнать, под Линуксом никаких проблем с работой QSerialPort порта нету? Мне ещё предстоит линуксоида убедить перейти на этот класс. При использовании signal/slot (неблокирующего подхода) не должно быть проблем. Но при waitForXX() могут выплыть проблемки.. |
|
|
Анна |
21.10.2013, 13:44
Сообщение
#95
|
Активный участник Группа: Участник Сообщений: 276 Регистрация: 22.5.2008 Из: Зеленоград Пользователь №: 181 Спасибо сказали: 30 раз(а) Репутация: 4 |
Цитата(Анна) В смысле, зачем нужно? А зачем тогда нужна errorString()? Хотя бы для какого-то единообразия. У меня три приложения работают с компортом, а у напарника с десяток, наверное. Хотелось бы, чтобы об одной и той же ошибке все приложения сообщали одинаковую информацию. Приходится таскать за собой довесок. К тому же как раз ради удобной обёртки и взяла этот класс. До этого пользовалась доморощенными методами. Можно конкретный пример? Что не устраивает то конкретно? Любые предложения приветствуются. Цитата(Анна) Кстати, хотела узнать, под Линуксом никаких проблем с работой QSerialPort порта нету? Мне ещё предстоит линуксоида убедить перейти на этот класс. При использовании signal/slot (неблокирующего подхода) не должно быть проблем. Но при waitForXX() могут выплыть проблемки.. Конкретно, когда от порта приходит сигнал об ошибке (любой, например, у меня бывает плохой контакт между портом и железякой, тогда всё время валится ошибка 6 (очень облегчила мне жизнь в выяснении, кто виноват)), хочу расшифорвать его пользователю, а errorString() возвращает всегда "Unknown error". У меня ещё сверху добавляется свой анализ полученного из порта, так что проблему решила, просто добавив к "своим ошибкам" расшифорвку ошибок из хелпа, но у меня есть приложения, где хотелось бы использовать ваш класс в чистом виде, а не городить заплатку. Насколько я поняла, всего лишь нужно было в тех местах, где генерится сигнал error(), вызывать перед этим setErrorString() с соответствующим текстом. Про Линукс, спасибо, что предупредили. У меня есть места, где waitFor... используются. Буду переделывать. |
|
|
kuzulis |
21.10.2013, 16:18
Сообщение
#96
|
Активный участник Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: 7 |
Цитата тогда всё время валится ошибка 6 Это которая BreakConditionError ? |
|
|
DruidCat |
21.10.2013, 17:19
Сообщение
#97
|
Новичок Группа: Новичок Сообщений: 9 Регистрация: 15.10.2013 Пользователь №: 3958 Спасибо сказали: 0 раз(а) Репутация: 0 |
http://qt-project.org/doc/qt-5.1/qtserialp...alportinfo.html
Хотелось бы задать вопрос, извините, если он будет глупым, я только учусь. Мне хотелось бы проверять на занятость сом порты, в документации я нашел #include <QSerialPortInfo> с методом isBusy(), который возвращает bool. А как им пользоваться я не знаю. Я учу Qt меньше месяца, читаю учебник, и бегу вперед паровоза. Охота быстрей и быстрей написать свою программу. Я смотрел примеры по применению QSerialPortInfo, и не понял их, так как такие способы программирования я еще не знаю. Не могли бы привести небольшой наглядный кусочек кода, где понятно, как пользоваться методом isBusy(), желательно в if. Мне хотелось бы проверять определенные сом порты на занятость и если эти порты заняты, производить с ними определенные манипуляции. |
|
|
kuzulis |
21.10.2013, 17:53
Сообщение
#98
|
Активный участник Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: 7 |
Если не знаешь какой порт нужен - то просто перечисляешь и выбираешь из списка нужный и проверяешь его:
или Если знаешь какой нужен то прямо его и проверяешь:
UPD: А еще смотри примеры, которые идут вместе с QtSerialPort в директории /examples: * cenumerator - консольный пример * enumerator - GUI пример Сообщение отредактировал kuzulis - 21.10.2013, 17:57 |
|
|
Litkevich Yuriy |
23.10.2013, 19:42
Сообщение
#99
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Тему разделил: DCTerminal - Моя первая Qt-программа
|
|
|
Анна |
28.10.2013, 15:25
Сообщение
#100
|
Активный участник Группа: Участник Сообщений: 276 Регистрация: 22.5.2008 Из: Зеленоград Пользователь №: 181 Спасибо сказали: 30 раз(а) Репутация: 4 |
|
|
|
Текстовая версия | Сейчас: 25.11.2024, 2:27 |