Size: a a a

2020 January 30

IZ

Ilia Zviagin in Qt
Elnee 雨
Работает
И запомни: Легаси - это наследие. Это хорошо, а не плохо.
источник

RG

Renat Garaev in Qt
Ilia Zviagin
И запомни: Легаси - это наследие. Это хорошо, а не плохо.
Если оно нормально написано, обычно так говорят. А если оно слишком древнее, обычно это не интересно, в работе.
источник

E雨

Elnee 雨 in Qt
Renat Garaev
Статичная сборка или в модулях dll?
В модулях dll я предлагал переписать, их не устроили сроки по всему этому. Проект собирается статически с некоторыми зависимостями динамическими. С кучей логики просто на форме MainWindow (раньше было 12000 строк, сейчас 6000). Некоторые формы интерфейса написали синглтонами Майерса, время жизни которых не контролируется и в итоге эта хрень даже красилась при выходе, потому что QApplication удалялся из памяти раньше интерфейса. Вот как-то так оно и работало.
источник

E雨

Elnee 雨 in Qt
Я уже много чего исправил, но теперь, продумывая архитектуру появляется много вопросов и мало ответов, поэтому и ищу помощи.
источник

SE

Suigintou45 E13 in Qt
Elnee 雨
В модулях dll я предлагал переписать, их не устроили сроки по всему этому. Проект собирается статически с некоторыми зависимостями динамическими. С кучей логики просто на форме MainWindow (раньше было 12000 строк, сейчас 6000). Некоторые формы интерфейса написали синглтонами Майерса, время жизни которых не контролируется и в итоге эта хрень даже красилась при выходе, потому что QApplication удалялся из памяти раньше интерфейса. Вот как-то так оно и работало.
надо просто всем этим бэкендам, синглтонам и логике бд передавать qapplication как парент
источник

SE

Suigintou45 E13 in Qt
чтобы всё уничтожалось деструктором qapp
источник

E雨

Elnee 雨 in Qt
Я уважаю @MasterZiv, но ответ "работает — это хорошо" меня вгоняет в депрессию 😅 . Здесь так разработка и велась, в итоге приводя к тому, что добавление лишней строчки кода ломает проект к чертям, потому что кто-то построил логику на куче сайд эффектов которые не очевидны без бутылки водки.
источник

E雨

Elnee 雨 in Qt
Suigintou45 E13
надо просто всем этим бэкендам, синглтонам и логике бд передавать qapplication как парент
Я эту проблему уже решил через qAddPostRoutine или как-то так.
источник

RG

Renat Garaev in Qt
Elnee 雨
Есть просто возможность, что подключений будет больше в будущем.
Одновременно/параллельно в несколько баз данных сразу?
источник

SE

Suigintou45 E13 in Qt
кстати, а как лучше треды (QObject с moveToThread) прибивать при выходе из программы?
источник

FS

Flower Surgeon in Qt
в мане ж написано вроде
источник

M

Mr.Mait in Qt
Suigintou45 E13
кстати, а как лучше треды (QObject с moveToThread) прибивать при выходе из программы?
mThread.quit();
mThread.wait();

Первое останавливает новые события, второе обрабатывает остатки событий
источник

МВ

Макс Воробьев in Qt
Suigintou45 E13
кстати, а как лучше треды (QObject с moveToThread) прибивать при выходе из программы?
    m_thread.quit();
   m_thread.wait();
?
источник

МВ

Макс Воробьев in Qt
или у тебя while(True) внутри треда ?
источник

RG

Renat Garaev in Qt
Макс Воробьев
ну как бесплатно. lgpl никто не отменял
Про старую тему снова можно? @anatolijs @mefest @MasterZiv
Я недавно (в прошлом году) ходил на платную конференцию Dump, так так был доклад про опенсоурс и лицензии. Так самое интересное, что очень крупные корпорации (даже которой имя на G начинается) использует системы для анализа собранного кода приложений.
Т.е. программист, который берет бесплатный модуль с открытой лицензией, добавляя его в свое приложение, при сборке компилятором естественно всегда получает одинаковый бинарный код, и автоматизированные системы анализируют и потом "опа, вам письмо, а тут у вас открытый модуль, а может код приложения своего откроете или код связки с этим модулем"? Потом если интересно, поищу ссылку на доклад.
источник

M

Mr.Mait in Qt
Renat Garaev
Про старую тему снова можно? @anatolijs @mefest @MasterZiv
Я недавно (в прошлом году) ходил на платную конференцию Dump, так так был доклад про опенсоурс и лицензии. Так самое интересное, что очень крупные корпорации (даже которой имя на G начинается) использует системы для анализа собранного кода приложений.
Т.е. программист, который берет бесплатный модуль с открытой лицензией, добавляя его в свое приложение, при сборке компилятором естественно всегда получает одинаковый бинарный код, и автоматизированные системы анализируют и потом "опа, вам письмо, а тут у вас открытый модуль, а может код приложения своего откроете или код связки с этим модулем"? Потом если интересно, поищу ссылку на доклад.
Если тебя это волнует и хочешь использовать бесплатный модуль с открытой лицензией, можешь сделать обфускацию кода
источник

RG

Renat Garaev in Qt
Mr.Mait
Если тебя это волнует и хочешь использовать бесплатный модуль с открытой лицензией, можешь сделать обфускацию кода
Там ещё много интересного было и про риски и уязвимости. Которые могут быть, а могут быть и не исправленными в коде, а чаще, даже, не обновленный модуль создаёт риск для коммерческого приложения.
источник

SE

Suigintou45 E13 in Qt
Макс Воробьев
или у тебя while(True) внутри треда ?
Разные, и с event loop, и с циклом с processEvents внутри. Какой-то глобальный список тредов приходится вести.
источник

С

Сode_geek in Qt
Daniel Sinkevich
да, все верно
Если кому интересно, все оказалось проще
print(chart.titleBrush().color().name())
сори нуб
источник

.

.undefined in Qt
После обновления Qt Creator перестал вообще запускаться, жалуется на отсутствие нескольких .dll. Кто-то сталкивался с таким? Есть решения, кроме полной переустановки?
источник