Я добавил бы actionListener, таким образом, можно получить каждый ключ, поскольку он нажимается.
Вы банка может затем сделать поиск в фоновом режиме (другой поток)
Последняя версия cairo поддерживает Qt, позволяя рисовать на поверхности, созданной с помощью cairo_qt_surface_create (QPainter * painter)
: вы можете проверить соответствующий заголовок файл здесь . Документации нет, потому что эта функция все еще экспериментальная и по умолчанию отключена (вы должны скомпилировать cairo самостоятельно, явно включив поддержку Qt с помощью configure --enable-qt
.
Предупреждение : Это не тот ответ, который вы ищете.
Вы уверены, что хотите это? С какой целью? Речь идет о написании QPaintDevice
на основе Cairo? В Qt реализованы собственные графические примитивы, как и в Cairo. Единственная причина, по которой я вижу, это то, что вы не хотите, чтобы тяжелый слой Qt мешал вашей системе (встроенной?). Это похоже на то, что вы пытаетесь использовать серверную часть DirectFB в Каире, но есть такие вещи, как Qt-on-DirectFB. Однако обратите внимание, что такая реализация является дорогостоящей и не бесплатной без собственного набора кварков, таких как проблемы взаимодействия с библиотеками, печать из этого контекста, основанного на Каире и т. Д. Я бы посоветовал вам выполнить регулярный поиск в Google, чтобы выяснить, есть ли такие усилия когда-либо проводились, и очень тщательно взвесить все за и против, прежде чем даже попытаться сделать то же самое.
Qt's Paint System - очень хорошая библиотека рисования и основан на векторах. И это уже есть. Если вы выберете Qt в качестве инструментария графического интерфейса, ничего не станет проще.