Я бы хотел взаимодействовать с открытым окном qt (написанным на c ++), используя код. Код будет действовать как пользователь и будет полностью независим от кода окна qt. Что-то вроде веб-скребка, но с использованием qt (что гораздо сложнее). Первое, что я пытаюсь сделать, это имитировать c нажатие кнопки pu sh.
Моей первой интуицией было добавить некоторый код на С ++ в существующий код во время выполнения и выполнить что-то вроде «pushButton.click (); ». После нескольких поисков я попытался использовать общую библиотеку Dynami c. Библиотека будет реализовывать код кнопки, на которую я хочу нажать, и будет динамически добавляться к существующему коду C ++. Это решение может работать, но, кажется, очень сложно и не переносимо. Кроме того, я хотел бы, чтобы решение было очень независимым от кода окна.
Конечно, qt-код окна будет доступен со стороны кода очистки.
Являются ли некоторые другие решения более практичными?
РЕДАКТИРОВАТЬ: GammaRay, кажется, работает нормально. Мне удается выполнить нажатие на кнопку с помощью GUI. Однако GammaRay, похоже, не предоставляет форму интерфейса командной строки. Как мы можем прочитать из официальной документации:
Клиент GammaRay доступен в двух формах:
- как отдельное приложение, как показано на следующем снимке экрана
- как Плагин Qt Creator (только для Qt Automotive Suite)
Есть ли возможность выполнить клик с помощью GammaRay и без GUI? Некоторые другие решения работают только с использованием кода?