在网上找了很多,就是没找到键盘事件触发单选框选中的,反复读网上的资料和QT源码(反复读,是因为自己不细心,浪费掉很多时间,这个要改),然后恍然大悟,一点都不难
需求:
1.使用按键,读取按键的内容,遇到与固定值匹配的值,将单选框呈(未)选中状态
2.随键盘操作人员意愿删除原先按键按下的值
主要代码如下( 加qDebug()是为了测试、验证 ):
QString keyText;
void MainWindow::keyPressEvent( QKeyEvent *event )
{
QString checkFixed = "ABCD";
QString uncheckFixed = "BCDA";
QString checkState;
QString key = event->text();
keyText += key;
//若按键按下的值等于“ABCD”,则单选框呈选中状态
if( keyText == checkFixed )
{
ui->radioButton->setChecked( true );
checkState = ui->radioButton->isChecked() ? "Checked" : "Unchecked";
qDebug() << checkState;
}
//若按键按下的值等于“BCDA”,则单选框呈未选中状态
if( keyText ==