QtGUI导致CPU开销
我的代码看起来像这样。 用户按下一个键,gui被更新。 但是,当用户连续按一个键而不释放时,CPU会受到压力,系统会冻结,直到GUI完成所有命令的任务QtGUI导致CPU开销,qt,overhead,Qt,Overhead,我的代码看起来像这样。 用户按下一个键,gui被更新。 但是,当用户连续按一个键而不释放时,CPU会受到压力,系统会冻结,直到GUI完成所有命令的任务 bool Reproductor::eventFilter(QObject * , QEvent * event) { if(event->type() == QEvent::KeyPress) { int pressed_key_now = static_cast<QKeyEvent*>(ev
bool Reproductor::eventFilter(QObject * , QEvent * event)
{
if(event->type() == QEvent::KeyPress)
{
int pressed_key_now = static_cast<QKeyEvent*>(event)->key();
switch (pressed_key_now)
{
case Qt::Key_Asterisk:
{
// search in sqlite an update gui
g_next_page_on_list_themes_down(); // <--- very heavy
break;
}
bool复制器::事件过滤器(QObject*,QEvent*事件)
{
如果(事件->类型()==QEvent::按键)
{
int pressed_key_now=static_cast(事件)->key();
开关(现在按下按键)
{
案例Qt::键_星号:
{
//在sqlite中搜索更新gui
g_next_page_on_list_themes_down();//一种轻松解决这一问题的方法是对按键释放事件而不是按键事件做出反应
如果由于某种原因无法实现,您可以自己保留一个标志,以指示用户是否同时释放了钥匙(例如,识别新的“新”按键事件)