我想通过模拟 的发射来测试我的 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)
用来查找主绑定,但我看不到如何提取键和修饰符。或者,是否有其他方法可以获得相同的结果?