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

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: [1] 2 3 ... 761
1  Qt / Пользовательский интерфейс (GUI) / Re: QEventLoop::DialogExec (undocumented) : Май 15, 2022, 10:39
На https://stackoverflow.com/questions/9523311/undocumented-processeventsflag-enums-in-qt есть предположение, что это перечисление - чисто внутреннее дело Qt. Потому и UNDOCUMENTED.
Кстати, откуда вы его взяли?
Взял из исходников. Undocumented = не написано в букваре. Ссылку видел раньше, но предположение неверно - Qt не устанавливает этот флаг самостоятельно, это может сделать лишь код вызывающего.

Немного поэкспериментировал (типа "попробывал"), увы, с этим флагом упр-е не отдается вызывающему - наверно пока диалог не закроется, дальше потерял интерес т.к. мои проблемы это не решает.
2  Qt / Вопросы новичков / Re: QActions : Май 09, 2022, 11:29
Почему нельзя просто ...
Потому что Вам уже хочется быть экспертом Улыбающийся
Но, судя по всему, в Qt нет такой возможности (кроме пресловутого таймера)
А это не так, возможность есть
3  Qt / Вопросы новичков / Re: QActions : Май 08, 2022, 08:26
Согласен, что будет неудобно. Удобнее было бы написать одну процедуру, которая вызывалась бы автоматически и в ней бы определялась доступность Actions. Но, судя по всему, в Qt нет такой возможности (кроме пресловутого таймера)
Почему нет? Потому что не хочется искать? Улыбающийся Для hotkeys есть QEvent::ShortcutOverride, момент открытия меню тоже можно поймать (здесь правда на OSX нужен нативный код)
4  Qt / Вопросы новичков / Re: QActions : Май 07, 2022, 11:10
Для начала нужно самому себе сформулировать задачу, которую хотите решить Подмигивающий
Желание поучать - свойство человеческой натуры Улыбающийся
А соответствующие сигналы этих объектов соединить с этим слотом.
При разрастании кода это становится неудачным/неудобным, приходится втыкать много сигналов там и сям. Др подход - дизаблить "динамически", т.е вычислять доступность айтема при открытии меню или при нажатии hotkey. Хотя и здесь свои минусы  
5  Qt / Пользовательский интерфейс (GUI) / Re: "Тяжелое" окно : Май 01, 2022, 05:50
Но наверное кэшировать данные?
Ну "что/как кешировать" - глухая конкретика задачи, обсуждать нет смысла. Возможно (обдумываю) сформулировать так: поймать момент когда данные "тяжелого окна" стали невалидны (типа dirty = true). Это тоже головняк, но допустим, и дальше что? Как организовать разумное поведение для юзера? Можно помечтать о "перезагрузке данных в др нитке"  Улыбающийся
Наверное проблема уже решилась..
Нет, актуально
6  Qt / Вопросы новичков / Re: Процессы/потоки, Сигнально-слотовые соединения : Апрель 12, 2022, 13:53
Лучше убиться сразу. Сигнал-слот нормально работает в одном потоке. Как сигнал-слот работают между потоками сами разработчики QT не понимают. В QT-5 эта проблема не решена.
Нет никакой проблемы, все работает и сделано удобно
7  Qt / Пользовательский интерфейс (GUI) / QEventLoop::DialogExec (undocumented) : Апрель 10, 2022, 14:20
Добрый день

В гугле ничего внятного не увидел. Любопытство не праздное. Длинная операция, приходится выставлять что-то типа QProgressDialog который зовет processEvents. Беда в том что приходят события что не могут (или не должны) выполняться до завершения этой операции. Было бы замечательно "замкнуть" все события на текущем (модальном) диалоге, но как это сделать?

Спасибо
8  Qt / Общие вопросы / Re: Индикатор "Drawing Objects" : Апрель 07, 2022, 11:05
Продолжаю копаться. Собсно обновление (что становится видным на экране) происходит "в недрах", см аттач. Понял так это системное событие OSX недоступное из Qt напрямую. Поэтому в Qt+OSX я никак не могу "чего-то вызвать" - и экран обновлен, обязательно нужен processEvents. Ну и шо делать?
9  Qt / Общие вопросы / Re: Индикатор "Drawing Objects" : Апрель 06, 2022, 12:59
Может, QApplication::processEvents() ?
Так и делаю, другого просто нет. Потом отслеживаю приходящие события. Все одинаково - вызывается UpdateRequest, из него Paint(ы), создается верный буфер. Но при обновлении из paintGL - экран не обновлен. Долго ползал в хвосте UpdateRequest, где зовутся ф-ции типа flush - тоже все одинаково.

в cocoa нативный способ заставить вью перерисоваться — послать ему -setNeedsDisplay, что в свою очередь вызовет -drawInRect:
Ну это вызов Paint, т.е. кода рисования, эта фаза проходит
10  Qt / Общие вопросы / Индикатор "Drawing Objects" : Апрель 05, 2022, 13:33
Добрый день

По каким-то причинам окно индикатора не показывается, а если было показано "до того" - не обновляется. Сама операция - рисование OpenGL (стандартно, через paintGL), как говорят, "по идее" такой проблемы быть не должно. Заграбастал буфер окна в файл (через QBackingStore) там все норм, обновлено. А вот на экране - тишина.

По ходу дела вопрос: ну вот сделали Qevent::UpdateRequest, он позвал Paint(ы), буфер готов, кто (или как, или в какой момент) его шлепает на экран? (хотя бы на OSX)

Спасибо
11  Qt / Qt Quick / Re: Виджет настройки : Апрель 01, 2022, 15:11
размещяю эту картинку в QScrollArea и....
И вычислить насколько скроллить. Напр я делал так
Код
C++ (Qt)
bool DisplayWin::DragPan( QMouseEvent * e )
{
QPointF org = mImageArea->widget()->mapFrom(mImageArea, QPoint(1, 1));
QPointF ofs = e->localPos() - org;
QPointF scroll = mDragPos - ofs;
HScroll()->setValue(scroll.x());
VScroll()->setValue(scroll.y());
 
return true;
}
 
Где mDragPos = e->localPos() при первом нажатии мыши. Если картинка масштабится или это 3D - вычисления будут сложнее

только на QML.
Цацка для пижонов
12  Qt / Qt Quick / Re: Виджет настройки : Апрель 01, 2022, 14:17
что за операция?
Откройте напр картинку в фотошопе и наведите на нее мышу. Нажмите пробел - курсор "рука" покажет что можно двигать картинку. Вот это и есть "pan", т.е. др способ скроллирования, часто более удобный.  Конечно нужна QScrollArea и вычислять величину сдвига - этого никто не отменял
13  Qt / Qt Quick / Re: Виджет настройки : Апрель 01, 2022, 13:49
А зачем виджет и QML? (цыганщиной отдает). Это стандартная операция pan(orama), обычно с зажатой клавишей пробел. Ее всегда надо делать
14  Qt / Установка, сборка, отладка, тестирование / Re: No module named Jinja2 : Февраль 13, 2022, 12:58
Все-таки поставить это приложение хочется. Нашел эту инструкцию. Да, на машине с инетом скачалось 58 метров пытон-зависимостей. Какие-то .whl файлы. Правда у некоторых в имени windows, а мне надо нести их на mac. Ну ладно, сейчас хоть бы как-то продвинуться.

Но вот что делать на целевой машине- хз. Инструкция пишет

Цитировать
On the system that has no access to internet

Then you can use

pip install --no-index --find-links /path/to/download/dir/ -r requirements.txt

to install those downloaded modules, without accessing the network.
Да, но как мне подсунуть под тот пытон что в инсталле?
15  Qt / Установка, сборка, отладка, тестирование / Re: No module named Jinja2 : Февраль 10, 2022, 10:26
я это к тому, что потенциально можно раздать инет со своего телефона (например, через кабель). но если именно безопасность, то так не выйдет.
Нет, так низзя, да у меня и телефона-то нет. Опять Вы хотите решить как-то "организационно", а как же Программирование?  Улыбающийся
Страниц: [1] 2 3 ... 761

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