使用 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;
}
如果您按退格键,您的程序会将其添加到字符串中然后将其删除...所以...它什么也没做 ^^
我正在尝试创建一个用户输入数据的文本框,一切正常,但是,每当我尝试设置 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;
}
如果您按退格键,您的程序会将其添加到字符串中然后将其删除...所以...它什么也没做 ^^