Russian Qt Forum
Май 22, 2024, 13:42 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: 1 2 [3] 4 5 ... 313
31  Qt / Вопросы новичков / Re: как правильно работать с Qt, чтобы не было утечек памяти? : Декабрь 11, 2023, 23:33
Но хорошо что Igors нашелся (а то я даже беспокоиться начал - не сарказм), значит еще пообсуждаем. Улыбающийся
ABBAPOH тоже очень беспокоился, что больше нет животрепещущих тем Улыбающийся
32  Qt / 2D и 3D графика / Re: должен ли я озаботится о зачистке памяти ? при new QGraphicsTextItem ? : Декабрь 11, 2023, 14:58
https://doc.qt.io/qt-6/qgraphicsscene.html#addItem This scene takes ownership of the item.

https://doc.qt.io/qt-6/qgraphicsscene.html#removeItem The ownership of item is passed on to the caller (i.e., QGraphicsScene will no longer delete item when destroyed).

итого ответ на твой вопрос: да. Но если removeItem не вызывать, то и самому удалять не надо.
33  Qt / Вопросы новичков / Re: Установка скорости com-порта через combobox : Декабрь 04, 2023, 21:19
ты в on_pushButton_clicked создаешь новый объект QSerialPort, а в on_baudRateBox_activated заполняешь данные у временного объекта, который разрушается после выхода из метода. тебе надо либо сделать объект QSerialPort членом класса либо читать все значения комбобоксов прямо в on_pushButton_clicked.

эта ошибка непосредственно к Qt никак не относится, очень советую подучить С++ и ООП.
34  Qt / Пользовательский интерфейс (GUI) / Re: QComboTableItem в Qt5 : Декабрь 04, 2023, 09:57
кажется, проблема в том, что ты пытаешься каждый раз засунуть один и тот же объект Value_Box в каждую ячейку, а надо для каждой ячейки создавать новый объект через new QComboBox
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
36  Qt / Пользовательский интерфейс (GUI) / Re: Правильное позиционирование дочерних обьектов в SplitView : Ноябрь 25, 2023, 22:11
то есть проблема проявляется только если объект со скроллом?

в первом сообщении используется PdfScrollablePageView, а во втором уже PdfPageView. Это и есть «со скроллом и без»?

думаю, надо посмотреть на реализацию PdfScrollablePageView
37  Qt / Вопросы новичков / Re: Unicode Character : Ноябрь 25, 2023, 21:59
Код
C++ (Qt)
QLabel label{tr("что-то на китайском: \U00020CD0")};
чтоб русские буквы отображались, надо сохранить файл в утф-8. иероглиф взял из https://en.wikipedia.org/wiki/Table_of_General_Standard_Chinese_Characters
38  Qt / Общие вопросы / Re: Система не видит библиотеку : Ноябрь 23, 2023, 23:12
а в этом пути есть данный файл? Он от дебаг сборки, если что (d в конце имени длл).
39  Qt / Вопросы новичков / Re: Unicode Character : Ноябрь 23, 2023, 23:11
да, полностью поддерживает. Можно создавать строки или прямо в кодировке утф-8 или вставлять соответствующие эскейп-последовательности.
40  Qt / Вопросы новичков / Re: Как определить каким компилятором собраны библиотеки QT : Ноябрь 22, 2023, 21:54
скорее всего тем, что выделен жирным https://doc.qt.io/qt-5/supported-platforms.html
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, но может можно и как-то быстрее (зависит от твоей внутренней логики и доступных данных).
43  Qt / Qt Quick / Re: Перерисовка модели в TreeView с сохранением состояния : Ноябрь 12, 2023, 18:52
страница у тебя влияет на роль eBorderColor, значит при изменении страницы надо послать dataChanged для старых и новых выделенных индексов с указанием этой роли (видимо внутри setCurrentPage())
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.

код начнешь показывать или так и будем сидеть рассуждать? Улыбающийся
45  Qt / Qt Quick / Re: Перерисовка модели в TreeView с сохранением состояния : Ноябрь 11, 2023, 23:21
картинок нет, да суть проблемы и так ясна: у тебя меняются данные модели, что должно привести к изменению отображения, но ничего не меняется, потому что, судя по всему, ты не отправляешь сигнал dataChanged
Страниц: 1 2 [3] 4 5 ... 313

Страница сгенерирована за 0.275 секунд. Запросов: 23.