在某些情况下是否可以取消key_release事件?我尝试更好地解释...我希望在条目中只能插入数字,如果我插入另一个字符,将被跳过。
。h文件
bool on_value_change(GdkEventKey* key_event);
。c ++文件
m_TxtDiversi1->signal_key_release_event().connect(sigc::mem_fun(*this, &MainWindow::on_value_change));
bool MainWindow::on_value_change(GdkEventKey* key_event)
{
if((key_event->keyval >= 48 && key_event->keyval <= 57) || (key_event->keyval >= 65456 && key_event->keyval <= 65465) || key_event->keyval == 65454)
{
std::cout << "1ui" << std::endl;
return true;
}
return false;
}
有人可以帮我吗?预先感谢。
我找到了解决方案
m_TxtDiversi1->signal_key_press_event().connect(sigc::mem_fun(*this, &MainWindow::on_value_change), false);
bool MainWindow::on_value_change(GdkEventKey* key_event)
{
if((key_event->keyval >= 48 && key_event->keyval <= 57) || (key_event->keyval >= 65456 && key_event->keyval <= 65465) || key_event->keyval == 65454)
{
std::cout << "1ui" << std::endl;
return false;
}
return true;
}