Size: a a a

2021 April 29

В

Виктор in Qt
Доброе утро. Я пишу небольшой логгер. У меня есть насколько функций и мне надо придумать как их вызывать. Сейчас я вызываю их напрямую. Возникла идея использовать для этого сигналы и слоты, но также есть идея использовать для этого фабрику. Как вы считаете , для небольшой реализации , что подойдет лучше ?
источник

AU

Abu Umar in Qt
А вы не думали просто использовать все готовые функции qt?
источник

NK

ID:0 in Qt
источник

В

Виктор in Qt
Вы про какие именно функции?
источник

AU

Abu Umar in Qt
qmessagelogger + qInstallMsgHandler
источник

В

Виктор in Qt
У меня они не подходят немного под реализацию.
источник

А

Артем in Qt
Всем привет, интересует следующий вопрос. Не меняется курсор при QApplication::setOverrideCursor(Qt::WaitCursor).
В следующем коде:
// создаю объект
QApplication::setOverrideCursor(Qt::WaitCursor);
// что-то с этим объектом делаю
QApplication::restoreOverrideCursor();
источник

А

Артем in Qt
Как можно решить или в чем может быть проблема
источник

F

FPOHTMEH in Qt
А у тебя не обновляется UI между вызовами? QEventLoop? Работа делается в потоке?
источник

А

Артем in Qt
У меня загружаются данные в TableView из файл. Работа делается в основном потоке как я понимаю
источник

А

Артем in Qt
QEventLoop?
источник

F

FPOHTMEH in Qt
Потестируй курсор таким образом:
setOverrideCursor(...)
QTimer::singleShot(2000, qApp, &QApplication::restoreOverrideCursor)
Должно показать курсор на 2 секунды
источник

F

FPOHTMEH in Qt
Имел ввиду создать QEventLoop loop;
А потом регулярно вызывать loop.processEvents() после считывания некоторого количества строк (каждые 100)

Это такой метод "в лоб", лучше выносить работу в поток и не блокировать главный поток, но это сложнее новичку
источник

А

Артем in Qt
У меня как работает я делаю setOverrideСursor, начинается загрузка, загрузка заканчивается, показывает сообщение загрузка завершена, показывается кружочек курсор на 2 секунды, конец. А должно быть как, курсор меняется, начинается загрузка, после окончания загрузки, курсор меняется обратно
источник

SE

Suigintou45 E14 in Qt
QApplication::processEvents в начале и в процессе загрузки
источник

F

FPOHTMEH in Qt
Используй QEventLoop как я и писал выше
источник

M

Mr.Mait in Qt
А зря, хорошая штука. Создаешь паттерн qSetMessagePattern, создаешь свой хандлер qInstallMessageHandler, в этом хандлере формируешь сообщение по паттерну QString msg = qFormatLogMessage(type, context, message), готовое сообщение QString можешь отправлять в очередь потока на запись в файл или еще для каких-то вещей. Кутешный логгер еще и уровни позволяет включать/выключать. Все что надо для счастья. Ну и если хочешь чтобы все работало в релизе, нужно DEFINES += QT_MESSAGELOGCONTEXT
источник

А

Артем in Qt
Сработало, но отрабатывает странно. Иногда курсор сразу меняется, иногда вообще не меняется, иногда половину загрузки курсор обычный, половину кружочек
источник

В

Виктор in Qt
Нет. Они не подходят под систему тэгов в проекте. Там определено много тегов под лог. А так да, я видел этот метод. Он очень хорош
источник

м

мыши in Qt
кто-то пробовал pyside6? В переходе с pyside2 отваливается в совсем уж странных местах
QMetaProperty::read: Unable to handle unregistered datatype 'QItemSelectionModel*' for property 'GridModel::selectionModel'
источник