Просмотр сообщений
|
Страниц: 1 2 [3] 4 5 ... 313
|
33
|
Qt / Вопросы новичков / Re: Установка скорости com-порта через combobox
|
: Декабрь 04, 2023, 21:19
|
ты в on_pushButton_clicked создаешь новый объект QSerialPort, а в on_baudRateBox_activated заполняешь данные у временного объекта, который разрушается после выхода из метода. тебе надо либо сделать объект QSerialPort членом класса либо читать все значения комбобоксов прямо в on_pushButton_clicked.
эта ошибка непосредственно к Qt никак не относится, очень советую подучить С++ и ООП.
|
|
|
35
|
Qt / Вопросы новичков / Re: Вывод QList в окно
|
: Декабрь 03, 2023, 21:28
|
надо сперва построить подходящую строку: C++ (Qt) QString text; const auto baudRates = QSerialPortInfo::standardBaudRates(); for (auto rate : baudRates) text += QString{"%1\n"}.arg(rate); ui->txtOutput->setText(text);
либо еще можно выводить не просто текстом, а списком элементов через QListWidget
|
|
|
39
|
Qt / Вопросы новичков / Re: Unicode Character
|
: Ноябрь 23, 2023, 23:11
|
да, полностью поддерживает. Можно создавать строки или прямо в кодировке утф-8 или вставлять соответствующие эскейп-последовательности.
|
|
|
41
|
Qt / Qt Quick / Re: Перерисовка модели в TreeView с сохранением состояния
|
: Ноябрь 13, 2023, 12:10
|
как сделать — это ж ты должен знать, твой код и твоя логика Вот для eBorderColor у тебя есть код получения страницы для данного индекса, можно этот код переиспользовать, только сделать цикл по всем доступным индексам (или какому-то их подмножеству, если логика позволяет упрощение) и найти где полученная страница совпадает с текущей. Если вычисления там тяжелые, то лучше закэшировать, да. Только непонятно зачем ты хранишь указатель на список и указатель на словарь, а не по значению. Дальше просто в setCurrentPage() получаешь список индексов для старой страницы и для новой, и вот эти индексы подаешь в dataChanged. лист ролей — ну создай лист из одного элемента, в чем проблема если подашь пустой список, то будут пересчитаны все роли, что в данном случае не нужно. C++ (Qt) QList{{static_cast<int>(RoleAttributes::eBorderColor)}} // or QList<int>{} << static_cast<int>(RoleAttributes::eBorderColor)
|
|
|
42
|
Qt / Qt Quick / Re: Перерисовка модели в TreeView с сохранением состояния
|
: Ноябрь 12, 2023, 22:56
|
метод CC2gdocv_CustomPdfBookmarkModel::data() принимает индекс, для которого рассчитывается значение переданной роли, у тебя там для eBorderColor есть логика определения каким цветом выделять заданный индекс. А теперь тебе надо по сути сделать обратную операцию: по заданному номеру страницы определить каким индексам модели она соответствует, таким образом ты сможешь получить как старые индексы (те, что выделены сейчас), так и новые (для новой страницы в setCurrentPage). По коду кажется, что можно просто пробежаться по всем доступным индексам и выполнить код, который сейчас у тебя для eBorderColor, но может можно и как-то быстрее (зависит от твоей внутренней логики и доступных данных).
|
|
|
44
|
Qt / Qt Quick / Re: Перерисовка модели в TreeView с сохранением состояния
|
: Ноябрь 12, 2023, 10:10
|
насколько я понимаю, логика должна быть такая: 1. тыкаем в раздел 2. в модели меняется текущая страница 3. модель сообщает, что какие-то ее данные изменились 4. это приводит к автоматическому обновлению / перерисовке тривью вот сигнал dataChanged как раз для п.3 и служит. ты должен определить какой элемент (индекс) изменился, также опционально можно указать какая именно роль изменилась. beginResetModel можно использовать как альтернативу, если меняется много индексов сразу: When a model radically changes its data it can sometimes be easier to just call this function rather than emit dataChanged() to inform other components when the underlying data source, or its structure, has changed. код начнешь показывать или так и будем сидеть рассуждать?
|
|
|
|
|