Библиотека GUI, которая поддерживает создание GUI из другого потока - PullRequest
1 голос
/ 06 июля 2011

Я создаю плагин для приложения, и для запроса данных у пользователя мне нужно создать поток, поскольку графический интерфейс должен оставаться отзывчивым, и приложение может долго не вызывать ни одну из моих функций.

Проблема в том, что большинство известных мне библиотек GUI (wxWidgets, Qt) не поддерживают создание GUI из другого потока. Иногда есть хитрости, чтобы сделать это, но это не переносимо и не гарантировано.

Я смотрю из библиотеки GUI, которая официально поддерживает запуск GUI из другого потока. Единственными требованиями для проекта являются переносимость на Windows, Linux и Mac и предоставление интерфейса C. Бонусные баллы за легкость.

1 Ответ

0 голосов
/ 06 июля 2011

Почти все библиотеки GUI работают, полагаясь на API базовой операционной системы. Когда вы переходите на «кроссплатформенность» в своих требованиях, это становится еще более строгим, поскольку теперь вам приходится полагаться на поддержку трех отдельных платформ.

Таким образом, я подозреваю, что вы обнаружите, что каждая (разумная) библиотека графического интерфейса будет иметь сходство с потоками.

При этом почти каждая библиотека поддерживает создание работы из других потоков, а фоновые потоки выполняют "обработку", пока пользовательский интерфейс хорошо и отзывчиво сидит в основном потоке пользовательского интерфейса. Я бы предложил переработать ваш дизайн, чтобы ваши операции работали с фоновыми потоками, а не с вашим пользовательским интерфейсом.

...