crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


Сейчас на сайте человек: 103
(пользователей: 1, гостей: 102)
Yandex.com, Yahoo.com, Google.com, mlia8p3c, Archive.org

Перейти к месяцу

Декабрь 2017

  ПВСЧПСВ
»
1
2
3
»
4
5
6
7
9
10
»
11
12
13
14
15
16
»
19
20
22
23
24
»
25
26
27
28
29
31

> Последние обсуждения
Dovgon @ 8.12.2017, 9:32
Просмотров: 69   Комментариев: 0
 
> QBluetoothDeviceDiscoveryAgent и bluetooth remote shutter
Автор Dovgon — 8.12.2017, 9:32 — 0 комментариев
Добрый день
Пытаюсь соединиться с bluetooth кнопкой. QBluetoothDeviceDiscoveryAgent находит устройство:
name BSP-105 address 58:71:33:33:71:58 uuid "{00000000-0000-0000-0000-000000000000}" majorDeviceClass 5 minorDeviceClass 16 serviceClasses 0x1
При попытке установить соединение
pSocketDevice=new QBluetoothSocket(QBluetoothServiceInfo::RfcommProtocol, this);
pSocketDevice->connectToService(selectedDevice.address(), QBluetoothUuid(QBluetoothUuid::Avctp));
Получаю ошибку
QBluetoothSocket::ServiceNotFoundError
Подскажите как правильно соединиться и получать данные о нажатие кнопки?
Просмотров: 69, оставить комментарий   

> Как прикрутить несколько моделей к одному представлению?
Автор Fynjy — 8.12.2017, 7:59 — 0 комментариев
Привет всем!
Задача такая: Есть QTableWidget состоящий из трех колонок. По нажатию кнопки каждая строка которого заполняется какими то данными. И вот по мере наполнения таблицы, возникает задача ее редактирования. Редактирование основано по типу, что когда я нажимаю на интересующую меня ячейку, должен в ней появляться ComboBox со значениями которые присущи только для данной колонки. Т.е по сути три колонки и три набора данных. В голове крутится такой механизм, что хочется организовать три модели данных, одно представление в виде таблицы, один делегат...Но как выбрать набор данных соответсвующий данному столбцу интересующей ячейки пока представить не могу...
С технологией модель/представление - недавно познакомилс....

Заранее благодарен за советы...
Просмотров: 67, оставить комментарий   

> Как прикрутить несколько моделей к одному представлению?
Автор Fynjy — 8.12.2017, 7:59 — 0 комментариев
Привет всем!
Задача такая: Есть QTableWidget состоящий из трех колонок. По нажатию кнопки каждая строка которого заполняется какими то данными. И вот по мере наполнения таблицы, возникает задача ее редактирования. Редактирование основано по типу, что когда я нажимаю на интересующую меня ячейку, должен в ней появляться ComboBox со значениями которые присущи только для данной колонки. Т.е по сути три колонки и три набора данных. В голове крутится такой механизм, что хочется организовать три модели данных, одно представление в виде таблицы, один делегат...Но как выбрать набор данных соответсвующий данному столбцу интересующей ячейки пока представить не могу...
С технологией модель/представление - недавно познакомилс....

Заранее благодарен за советы...
Просмотров: 44, оставить комментарий   

> Как прикрутить несколько моделей к одному представлению?
Автор Fynjy — 8.12.2017, 7:59 — 3 комментариев
Привет всем!
Задача такая: Есть QTableWidget состоящий из трех колонок. По нажатию кнопки каждая строка которого заполняется какими то данными. И вот по мере наполнения таблицы, возникает задача ее редактирования. Редактирование основано по типу, что когда я нажимаю на интересующую меня ячейку, должен в ней появляться ComboBox со значениями которые присущи только для данной колонки. Т.е по сути три колонки и три набора данных. В голове крутится такой механизм, что хочется организовать три модели данных, одно представление в виде таблицы, один делегат...Но как выбрать набор данных соответсвующий данному столбцу интересующей ячейки пока представить не могу...
С технологией модель/представление - недавно познакомилс....

Заранее благодарен за советы...
Просмотров: 120, последний комментарий от Алексей1153   

> Как вставить компоненты в GridLayout сразу с нужным спейсингом по вертикали?
Автор Fynjy — 8.12.2017, 7:52 — 4 комментариев
Привет Всем!
В Qt Designer размещаю QScrollArea. В него пихаю QGridLayout. В этом QGridLayout размещаю компоненты QLineEdit, по 2 на строку.
Т.е типа нажал кнопку, создались 2 QLineEdit и пихнулись в свободные ячейки строки gridlayout.
Если в grid понапихать скажем 10 строк с QLineEdit, то между ними установится нормальный вертикальный space, который впринципе я задал для grid:
ui->gridLayout->setVerticalSpacing(9);
У меня не получается сохранить этот space, когда я закидываю 2 или 3 строки, этот space всегда больше...компоновщик как то разбрасывает строки равномерно по вертикали, пока ScrollArea не заполнится.
Как сделать чтобы при добавлении второй строки в скроллзону у меня уже был нормальный space???
Да, кстати добавляю виджеты с выравниванием по Top, думал так смогу избавиться, а нет, не получается...
ui->gridLayout->setVerticalSpacing(/*ui->gridLayoutCommission->verticalSpacing()*/ 9);

    ui->scrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn);    
    for(quint8 iRow = 0; iRow < DeviceList.count()-1; iRow++)
    {
        QLineEdit* wgt = new QLineEdit();
        QLineEdit* wgt2 = new QLineEdit();

        //ui->gridLayout->setRowMinimumHeight(iRow, wgt->sizeHint().height() );

        ui->gridLayout->addWidget(wgt, iRow, 0, 1, 1, Qt::AlignTop);
        ui->gridLayout->addWidget(wgt2, iRow, 1, 1, 1, Qt::AlignTop);

        wgt->setMinimumHeight(ui->LineEditOperator->sizeHint().height() ); //аргумент беру с другого компонента на форме
        wgt2->setMinimumHeight(ui->LineEditOperator->sizeHint().height() );

        wgt->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Maximum);
        wgt2->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Maximum);
        wgt2->setMaximumWidth(ui->leDeviceSerialNumber->width() );
Просмотров: 105, последний комментарий от Анна   

> WADA и все-все-все
Автор Влад — 7.12.2017, 13:58 — 0 комментариев
Цитата
По результатам допинг-пробы мощей Александра Невского WADA рекомендовало присудить победу в Ледовом побоище Ливонскому ордену.
Просмотров: 191, оставить комментарий   

> WADA и все-все-все
Автор Влад — 7.12.2017, 13:58 — 1 комментариев
Цитата
По результатам допинг-пробы мощей Александра Невского WADA рекомендовало присудить победу в Ледовом побоище Ливонскому ордену.
Просмотров: 93, последний комментарий от Алексей1153   

> Тормоза при формировании заголовка QTableWidget
Автор demon051 — 6.12.2017, 9:42 — 1 комментариев
Всем привет.
Помогите пожалуйста, найти вариант решения проблемы.

Формирую заголовок QTableWidget

 
    _ui.calcDataView->setColumnCount(daysCnt*2 + 1);

    QTableWidgetItem * item = new QTableWidgetItem("ID");
    _ui.calcDataView->setHorizontalHeaderItem(0,item);
    _ui.calcDataView->hideColumn(0);
   QDate dt = _reportParameters->from().date();

    for(int i=1; i<=daysCnt*2; i++)
    {
       QCoreApplication::processEvents();
       QString str = QString::fromUtf8("Приход %1").arg(dt.toString("dd.MM"));

       QTableWidgetItem * item = new QTableWidgetItem(str);
       _ui.calcDataView->setHorizontalHeaderItem(i,item);
       QApplication::processEvents();

       i++;
       str = QString::fromUtf8("Уход %1").arg(dt.toString("dd.MM"));
       QTableWidgetItem * item2 = new QTableWidgetItem(str);
       _ui.calcDataView->setHorizontalHeaderItem(i,item2);

       dt = dt.addDays(1);
     }


При большом кол-ве столбцов (например более 300), на формирование заголовка уходит больше минуты.
Время отжирает операция вставки _ui.calcDataView->setHorizontalHeaderItem(i,item2);
Ещё есть варианты - более быстрые?
через _ui.calcDataView->setHorizontalHeaderLabels(headers); пробовал - ещё тормознее!!! :(
Просмотров: 84, последний комментарий от Алексей1153   

> [РЕШЕНО]CRC16 для Modbus
Автор larry — 17.11.2017, 21:55 — 3 комментариев
Добрый день, форумчане.
Возник вопрос по расчету контрольной суммы для modbus. Нашел такую функцию:

quint16 crc(QByteArray& data, quint8 size)
{
    uint crc = 0xFFFF;
    
    for (int pos = 0; pos < size; pos++)
    {
        crc ^= (quint16)data.at(pos);          // XOR byte into least sig. byte of crc
        
        for (int i = 8; i != 0; i--)
        {    // Loop over each bit
            if ((crc & 0x0001) != 0)
            {      // If the LSB is set
                crc >>= 1;                    // Shift right and XOR 0xA001
                crc ^= 0xA001;
            }
            else                            // Else LSB is not set
                crc >>= 1;                    // Just shift right
        }
    }
    // Note, this number has low and high bytes swapped, so use it accordingly (or swap bytes)
    return crc;
}


Но никак не могу понять, почему в одном случае расчитывает правильно, а в другом не правильно.
Например отправляю запрос устройству следующего вида:

// crc = 71D9
    const char* data = "01040040000a";


и функция возвращает результат, который закоментирован (в калькуляторе тоже самое, т.е. все верно).

Получаю ответ на этот запрос:

// crc = D0AE
const char* data = "0104143a11e6ee3b16c44d39e24257381730ba3d862437";


но расчет контрольной суммы не совпадает...по калькулятору совпадает как в комментарии....

В чем может быть трабла?
Спасибо.
Просмотров: 159, последний комментарий от larry   

> Есть-ли здесь СПЕЦЫ ?
Автор JohnZ — 13.11.2017, 13:40 — 12 комментариев
Пытаюсь написать универсальные "дрова" для USB сканера ШК.
Универсальные в том смысле что под Lin/Win и с учётом разновидности протоколов самих ШК (USB-COM / KB)
Всё что перерыл - работает в основном на тредах, и даже не "подозревает" о аппаратных прерываниях :blink:
Было уже обрадовался увидев в LibUSB вызов
    libusb_fill_interrupt_transfer ( irq_transfer, devh, EP_INTR, irqbuf, sizeof(irqbuf), cb_irq, NULL, 0 );

но как оказалось её реализация организует свой "внутренний" тред для раздачи event-ов и опроса устр-в ...
... поэтому call-back - чная ф-ция у меня не вызывалась.

На обслуживание (и перехват) USB прерываний у гугля почему-то затык, или я его неправильно спрашивалЪ ... :unsure:

Что нужно ? В пространстве пользователя ( т е в ПО ) "сесть" на НУЖНОЕ прерывание и формировать
сигналы с принятым и расшифрованным кодом ШК из call-back - чной ф-ции. (как в DOS-e для COM-Port )
Расшифровывать ШК нужно т к разные сканеры по разному его формируют ...

Кто в курсе, подскажите куда копать ?! Буду премного благодарен за ссылки и примеры.
Просмотров: 409, последний комментарий от Алексей1153   

RSS Текстовая версия Сейчас: 18.12.2017, 21:39