我正在开发一个在线测验客户端,其中我们使用了一个专门定制的linux发行版,其中只包含测验客户端软件以及文本编辑器和其他实用软件。当用户开始测验时,我想阻止他/她最小化窗口/关闭窗口/切换到桌面或其他窗口。测验只能使用鼠标来尝试,所以我需要在测验期间完全禁用键盘。我怎么做,使用Qt或Mono?如果需要,我已经准备好使用任何低级库/驱动程序。
发布于 2010-03-12 01:21:15
你看过XGrabKeyboard吗?这应该会在全球范围内抢占键盘。
发布于 2010-03-10 21:56:52
您可以使用QWidget::grabKeyboard和QWidget::grabMouse,请注意注释中的警告:
警告:抓取鼠标的应用程序中的错误经常会锁定终端。请谨慎使用此函数,并在调试时考虑使用-nograb命令行选项。
发布于 2010-03-10 20:34:04
你有没有试过使用EventFilter?你有机会阻止所有相关的事件,例如,按键...
更多信息请点击此处:http://qt.nokia.com/doc/4.6/eventsandfilters.html
希望它能帮上忙!
类似于:
bool MyWidget::event(QEvent *event)
{
if (event->type() == QEvent::KeyPress)
{
return true;
}
return QWidget::event(event);
}https://stackoverflow.com/questions/2416586
复制相似问题