の放出をシミュレートすることでQtウィジェットの「コピー」機能をテストしたいのですがQKeySequence::Copy
、QTest::keyClick
受け入れませんQKeySequence
(またはQKeySequence::StandardKey
):
void QTest::keyClick ( QWidget * widget, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1 ) [static]
void QTest::keyClick ( QWidget * widget, char key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay = -1 ) [static]
Ctrl+としてコピーをハードコードすることができますC:
QTest::keyClick(widget, Qt::Key_C, Qt::ControlModifier)
QKeySequence::Copy
ただし、それはかなり脆弱であり、他の環境でウィジェットをテストすると失敗する可能性があるため、可能であれば使用したいと思います。
プライマリバインディングを見つけるために使用できることは知っていQKeySequence::QKeySequence(StandardKey)
ますが、キーと修飾子を抽出する方法がわかりません。あるいは、同じ結果を得る他の方法はありますか?