Кнопка имитации нажатия кнопки быстрого управления qt

Я новичок в qt и немного застрял. Мне интересно, можно ли имитировать нажатие кнопки из С++ для кнопки в qml с быстрыми элементами управления qt 2 и как это сделать?

Я знаю, что можно отправлять сигналы из qml в С++, но можно ли как-то сделать это по-другому?


person Dragan    schedule 13.05.2017    source источник
comment
Чего вы пытаетесь добиться этим?   -  person derM    schedule 13.05.2017
comment
Ну, я пытаюсь получить реальное время, необходимое для реакции объектов пользовательского интерфейса. Например, запустить счетчик › имитировать щелчок › сделать что-то еще с объектами пользовательского интерфейса › остановить счетчик. Я сравниваю Qt и родной Android/IOS dev.   -  person Dragan    schedule 13.05.2017


Ответы (1)


Я вижу, что вы сказали из С++. В этом случае есть тест Qt. Взяв пример из документов:

class MyFirstBenchmark: public QObject
{
    Q_OBJECT
private slots:
    void myFirstBenchmark()
    {
        QString string1;
        QString string2;
        QBENCHMARK {
            string1.localeAwareCompare(string2);
        }
    }
};

Это можно сделать с помощью TestCase.

TestCase {
    id: top
    name: "CreateBenchmark"

    Button {
        id: button
        onClicked: doSomeStuff()
    }

    function benchmark_create_component() {
        mouseClick(button);
    }
}

RESULT : CreateBenchmark::benchmark_create_component:
     0.23 msecs per iteration (total: 60, iterations: 256)
PASS   : CreateBenchmark::benchmark_create_component()

Вы должны использовать функцию mouseClick() для имитации щелчок по кнопке.

Также есть qmlbench, который был о котором недавно писали в блоге.

person Mitch    schedule 13.05.2017