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

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: 1 [2] 3 4 ... 217
16  Программирование / С/C++ / Re: Слияние диапазонов : Январь 27, 2022, 17:23
да, оч сложно, задачка уровня medium
Не понял, а писать бум или уже готовое нашли?  Непонимающий

я уже писал, хз
17  Программирование / С/C++ / Re: Слияние диапазонов : Январь 26, 2022, 10:55
Я не удивлен, наверно такой алгоритм для std слишком сложен Улыбающийся

https://leetcode.com/problems/merge-intervals/

да, оч сложно, задачка уровня medium
18  Программирование / Общий / Re: Хранение selection : Январь 24, 2022, 14:06
Ну варианта у вас 2 - либо не кешировать индексы и перебирать при обращении. Либо кешировать и перебирать кеш индексов при изменении. Осталось понять какие операции выполняются чаще, какие реже и вуаля.
19  Программирование / Общий / Re: Хранение selection : Январь 19, 2022, 00:51
что мешает сделать сет индексов?
20  Программирование / Общий / Re: Хранение selection : Январь 14, 2022, 16:06
это очень хреновый дизайн
В чем же его хреновость, "брат таланта" ?  Улыбающийся

в зависимости на внутреннюю реализацию QList.
спойлер - в qt6 все сломается
нужна стабильность - храните вектор юников
21  Программирование / Общий / Re: Хранение selection : Январь 14, 2022, 15:34
Заменить QList на вектор не могу, CInstance должен быть неперемещаемым.

это очень хреновый дизайн
22  Qt / Установка, сборка, отладка, тестирование / Re: Сборка Qt прибита к абсолютному пути? : Декабрь 12, 2021, 12:42
qt.conf рядом с qmake
23  Qt / Пользовательский интерфейс (GUI) / Re: PyQt5 обработка событий (Events), событие и его источник : Октябрь 24, 2021, 15:42
ты от них все равно никуда не денешься в программах сложнее hello world

лисп хихикает в сторонке
24  Компиляторы и платформы / Mac OS X / Re: Xcode Guard Malloc : Октябрь 03, 2021, 11:57
Думаю, если соберете с санитайзером (-fsanitize=address) то помощи будет больше.
В целом, макось вроде бы делает memory overcommitment, поэтому bad_alloc вы не получите, а получите краш при использовании памяти, но вряд ли тут она закончилась
25  Qt / Model-View (MV) / Re: QAbstractItemModel : Август 29, 2021, 18:57
не нашел.

https://doc.qt.io/qt-5/modelview.html

навскидку - надо роль проверять в data(), иначе возвращается лабуда для цвета/сайзХинта и прочего
26  Программирование / С/C++ / Re: Методы установки и считывания переменной в классе : Август 21, 2021, 12:20
Причины: придуманы алгоритмы для всех почти задач которые могут встретиться на практике.

Igors, залогинься
27  Qt / OpenGL / Re: Долгое рисование : Июнь 24, 2021, 00:35
"рисовать можно/нужно только в paint"

вроде уже давно нет
28  Qt / Вопросы новичков / Re: Как из модели списка испустить сигнал? : Май 25, 2021, 12:17
сигнал - неконстантная функция (внутри нее объест можно поменять через его АПИ), ее нельзя вызывать из константной (которая как бы говорит, что объект не меняется, пока мы в функции).

вообще, это плохой дизайн, так как data() должна работать очень быстро (и за O(1) от размера данных) так как она вызывается часто и много.
29  Программирование / Общий / Re: Провайдеры : Май 17, 2021, 17:54
Апну темку Улыбающийся

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

Как провайдеры работают сейчас - если Qbs не может найти модуль, скажем, Qt.core, она идет и ищет провайдер "Qt.core", если такого нет, то ищет "Qt", который и создает утешные модули. Таким образом, если проект не зависит от Qt.core, то провайдер не вызывается.

Теперь, мы делаем новое свойство qbsModuleProviders: ["Qt", "conan", "pkgconfig"], которое задает порядок, в котором выполняются провайдеры. Сначала работает "Qt", который создает модули для Qt, потом "conan", потом "pkgconfig". Бонусом имеем то, что разные провайдеры могут создавать одноименные модули, но приоритет имеют те, которые раньше в списке - например, если и "conan", и "pkgconfig" предоставляют модуль "zlib", то будет использован от "conan" - очень удобно делать механизм фоллбека между провайдерами.

Также теперь необязательно выполнять провайдеры, когда модуль не найден, можно выполнить весь список ДО поиска модулей - это упростит код в Qbs.
Однако появляется проблема - как быть с дефолтами? Если сделать значение qbsModuleProviders по умолчанию пустым, то сломается автопоиск Qt и pkgconfig. Правда во втором всё равно ничего нет, так что и не проблема=) но вот с Qt это проблема.
Какие варианты есть?
1а. Если qbsModuleProviders пустой, то можно попробовать выполнить ВСЕ провайдеры, которые есть. Это плохо, так как это ужасно медленно (сетап Qt где-то полсекунды, pkg-config 4 секунды чтобы сгенерить все возможные модули, но тут можно оптимизировать).
1б. То же, что 1а, но провайдер говорит, надо ли его звать по дефолту (enabledByDefault: true). Это позволит выключить особо тяжелые провайдеры, но остается проблема - если проект не зависит от Qt, а у Qt провайдера enabledByDefault: true, то юзеру будет непонятно, почему мы пытаемся сетапить Qt
1в. То же, что 1б, но enabledByDefault вычисляется, скажем, по наличию qmake в PATH. Проблему особо не решает, но если проверять, задано ли свойство провайдера qmakeSearchPaths (оно задаётся при запуске qbs setup-qt), то это решит совместимость при использовании Qt-профиля - если юзер явно указал Qt профиль, то наверное он хочет Qt. Но это не решит проблему при автодетекте qmake в PATH - независимо от наличия qmake в PATH мы не знаем заранее, нужна ли юзеру Qt.
2. Ничего не делать и заставить юзера указывать qbsModuleProviders руками в проекте:
Код:
QtApplication {
    Properties {
         condition: qbs.version >= 1.21
         qbsModuleProviders: ["Qt", "conan", "pkgconfig"]
    }
}
Ломается поведение по умолчанию, но можно пока оставить старые реализации провайдеров Qt и pkg-config и при попытке их использовать, выдавать warning - мол, deprecated, задавай qbsModuleProviders явно.
В целом, явное задавание имеет смысл, потому что провайдеры могут создавать не только плюсовые/кутешные модули и, скажем, делать там ["pkgconfig"] по дефолту для Java или там Typescript проекта не имеет смысл.

Какие мысли?
30  Программирование / С/C++ / Re: Layout groupBox : Май 12, 2021, 16:40
Работаете в дизайнере? Если да, то надо не виджеты объединять в лайаут (точнее это тоже можно но для другого), а жамкнуть правой кнопкой по родительскому виджету (форме) и задать лайаут ей. Или кнопкой на тулбар воспользоваться выделив оный виджет
Страниц: 1 [2] 3 4 ... 217

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