所以对我来说,计划是这样的:
我扫描一个条形码,它首先进入短信;
我扫描另一个条形码,它进入第二个textedit,
在这种情况下,我使用焦点和键盘事件。
我的问题是,当我扫描第一个代码时,它很好但是当我扫描第二个代码时,一些字母转到第二个texedit,一些转到第一个texedit。 我不明白是什么问题 这是我的代码
void CWidget::keyPressEvent(QKeyEvent *event)
{
if(focusWidget() == ui->lePath && !ui->lePath->text().isEmpty())
{
ui->leInformation->setFocus(); //leInformation second edit
ui->leInformation->setFocusPolicy(Qt::StrongFocus);
ui->leInformation->KeyPressEvent(event);
}
else
{
ui->lePath->setFocus(); //lePath - first edit text, first code scanned //goes here
ui->lePath->setFocusPolicy(Qt::StrongFocus);
ui->lePath->KeyPressEvent(event);
}
}
喜欢奇怪的思考原因有时候工作有时候没有,如果扫描的两个代码都有数字,但是如果第二个扫描的代码有大写字母,则它们会从写入的第一个大写字母开始编辑。但如果它们是小写的,它们就再好了。我认为键盘事件是如何处理大写的问题。不知怎的,也许有转变,它们在两次编辑之间改变。 如果有人对如何正确编写键盘事件有所了解,请帮助谢谢
这里B应该是第二个。我确定如何在键盘事件中输入大写是关于shift +字母和shift移动到另一个编辑,但我如何改变这个