使用 textEntered 时,我无法使用退格键删除字符串的最后一个字符

When using textEntered I can't get the backspace key to delete last character of the string

我正在尝试创建一个用户输入数据的文本框,一切正常,但是,每当我尝试设置 backspace 键来删除最后一个字符串的字符,即使无数教程以这种方式向我展示,它似乎也不起作用。

if (event.type == sf::Event::TextEntered)
{
    sentence += (char)event.text.unicode;
    //if (sentence.getSize() < 16) {

    // 

    if (event.text.unicode == 8)
    {

        sentence.erase(sentence.getSize() - 1, sentence.getSize());

    }
    text.setString(sentence);

    break;
    //}
}

另外,想知道阻止字符串前进 16 个字符的最佳方法是什么。

没关系,没那么难,我说完你会觉得很奇怪^^

if (event.type == sf::Event::TextEntered) {
    if (event.text.unicode == 8)
        if (sentence.getSize())//If the string doesn't have any char, don't do anything
            sentence.erase(sentence.getSize() - 1, sentence.getSize());
    else //Don't add any character when you delete one
        if(sentence.getSize() < 16)//Yeah, thats the best way to do it
            sentence += (char)event.text.unicode;

    text.setString(sentence);
    break;
}

如果您按退格键,您的程序会将其添加到字符串中然后将其删除...所以...它什么也没做 ^^