Size: a a a

2020 April 25

V

Valery in Qt
Посмотрел все настройки но так ничего и не нашёл
источник

AS

Anatoly Shirokov in Qt
да здесь вроде кубунта не при чем
источник

SE

Stanislav Ershov in Qt
источник

SE

Stanislav Ershov in Qt
источник

SE

Stanislav Ershov in Qt
переключится в режим fs и выбрать проект
источник

SE

Stanislav Ershov in Qt
все...
источник

V

Valery in Qt
Хм. Спасибо, можно и так. Но раньше всегда был "Проекты" и там отображалось всё по каталогам.. А в режиме Файловой системы он отображает временные файлы самого Кьюта и адресную строку. Ну что ж.. привыкнем
источник

V

Valery in Qt
Кому интересно. На одном из форумов увидел что это баг.
Сломали tree view в проектах на cmake, фикс будет в 4.11.1
Это как я понял и есть моя проблема. Рано я обновил систему. Хз как поставить старый пакет и ничего не сломать
источник

АП

Александр Петров in Qt
Привет всем. Такое дело: нужно проверять контрольную сумму сообщения по CRC-16/BUYPASS.

Вот такой метод сделал для расчета:
   quint16 cPrepareMKIO::countCRC16_BUYPASS(QByteArray array)
   {
       quint16 crc = 0x0000;

       for(int i = 0; i< array.count(); ++i)
       {
           crc =  static_cast<quint16>(array[i] << 8) ^ crc;
           for(int j = 0; j < 8; ++j)
           {
               crc = crc & 0x8000 ? (crc << 1) ^ CRC_16 : crc << 1;
           }
       }
       return crc;
   }

И вот такой для проверки:
   bool cPrepareMKIO::checkCRC16_BUYPASS(QByteArray array)
   {
       quint16 crc = 0x0000;

       for(int i = 0; i< array.count(); ++i)
       {
           crc =  static_cast<quint16>(array[i] << 8) ^ crc;
           for(int j = 0; j < 8; ++j)
           {
               crc = crc & 0x8000 ? (crc << 1) ^ CRC_16 : crc << 1;
           }
       }

       return crc == 0 ? true : false;
   }

Полином (CRC_16) = 0x8005

Я что-то не правильно написал? Так как при получении не проходит проверку. QByteArray заполняю через:
   QDataStream stream(&preparedData, QIODevice::WriteOnly);
   stream << header.iMessageSize
                  << header.iMessageIdSubaddress
                    ...
quint16 crc = countCRC16_BUYPASS(preparedData);
   stream << crc;
источник

d0

dOzeR 007 in Qt
static_cast<quint16>(array[i] << 8)  попробуй замени на static_cast<quint16>(array[i]) << 8
сначала должно быть приведение к 16 битам потом сдвиг, у тебя получается что ты 8-битную переменную сдвигаешь на 8 влево
это то что бросилось в глаза
источник

F

FPOHTMEH in Qt
Александр Петров
Привет всем. Такое дело: нужно проверять контрольную сумму сообщения по CRC-16/BUYPASS.

Вот такой метод сделал для расчета:
   quint16 cPrepareMKIO::countCRC16_BUYPASS(QByteArray array)
   {
       quint16 crc = 0x0000;

       for(int i = 0; i< array.count(); ++i)
       {
           crc =  static_cast<quint16>(array[i] << 8) ^ crc;
           for(int j = 0; j < 8; ++j)
           {
               crc = crc & 0x8000 ? (crc << 1) ^ CRC_16 : crc << 1;
           }
       }
       return crc;
   }

И вот такой для проверки:
   bool cPrepareMKIO::checkCRC16_BUYPASS(QByteArray array)
   {
       quint16 crc = 0x0000;

       for(int i = 0; i< array.count(); ++i)
       {
           crc =  static_cast<quint16>(array[i] << 8) ^ crc;
           for(int j = 0; j < 8; ++j)
           {
               crc = crc & 0x8000 ? (crc << 1) ^ CRC_16 : crc << 1;
           }
       }

       return crc == 0 ? true : false;
   }

Полином (CRC_16) = 0x8005

Я что-то не правильно написал? Так как при получении не проходит проверку. QByteArray заполняю через:
   QDataStream stream(&preparedData, QIODevice::WriteOnly);
   stream << header.iMessageSize
                  << header.iMessageIdSubaddress
                    ...
quint16 crc = countCRC16_BUYPASS(preparedData);
   stream << crc;
Да найди уже готовое, вот например: https://m.habr.com/ru/post/428746/
источник

SK

Stas Koynov in Qt
Александр Петров
Привет всем. Такое дело: нужно проверять контрольную сумму сообщения по CRC-16/BUYPASS.

Вот такой метод сделал для расчета:
   quint16 cPrepareMKIO::countCRC16_BUYPASS(QByteArray array)
   {
       quint16 crc = 0x0000;

       for(int i = 0; i< array.count(); ++i)
       {
           crc =  static_cast<quint16>(array[i] << 8) ^ crc;
           for(int j = 0; j < 8; ++j)
           {
               crc = crc & 0x8000 ? (crc << 1) ^ CRC_16 : crc << 1;
           }
       }
       return crc;
   }

И вот такой для проверки:
   bool cPrepareMKIO::checkCRC16_BUYPASS(QByteArray array)
   {
       quint16 crc = 0x0000;

       for(int i = 0; i< array.count(); ++i)
       {
           crc =  static_cast<quint16>(array[i] << 8) ^ crc;
           for(int j = 0; j < 8; ++j)
           {
               crc = crc & 0x8000 ? (crc << 1) ^ CRC_16 : crc << 1;
           }
       }

       return crc == 0 ? true : false;
   }

Полином (CRC_16) = 0x8005

Я что-то не правильно написал? Так как при получении не проходит проверку. QByteArray заполняю через:
   QDataStream stream(&preparedData, QIODevice::WriteOnly);
   stream << header.iMessageSize
                  << header.iMessageIdSubaddress
                    ...
quint16 crc = countCRC16_BUYPASS(preparedData);
   stream << crc;
не сочти за рекламу: https://github.com/KoynovStas/CRC_t
источник

АП

Александр Петров in Qt
dOzeR 007
static_cast<quint16>(array[i] << 8)  попробуй замени на static_cast<quint16>(array[i]) << 8
сначала должно быть приведение к 16 битам потом сдвиг, у тебя получается что ты 8-битную переменную сдвигаешь на 8 влево
это то что бросилось в глаза
Благодарю
источник

АП

Александр Петров in Qt
Тут тоже смотрел)
источник

АП

Александр Петров in Qt
Полезно, спасибо)
источник

АП

Александр Петров in Qt
Я голову ломаю, а дело было не подсчетах
источник

АП

Александр Петров in Qt
Во время записи в QByteArray в поток записываются поля с некоторых классов/структур и тд. Если к ним не обращаться все работает
источник

E

Eugene in Qt
Столкнулся с невиданной проблемой - qfiledialog открывается полностью прозрачный. Тыкаю в action "save file", это вызывает qfiledialog::getsavefilename из  главного окна.
Вызывал его без параметров, с this, с тремя и четырьмя параметрами - результат один и тот же. Mainwindow сереет, поверх него появляется невидимый qfiledialog. Понимаю, что он там, потому что если шевелить мышью, то она превращается на его границах в "стрелочки", чтобы изменить его размер. Что делать?
источник

E

Eugene in Qt
Это всё в иксах на линуксе, с любым DE
источник

E

Eugene in Qt
источник