当前位置:   article > 正文

Qt移动开发之 back(返回)键处理_qt怎么做返回键

qt怎么做返回键

Qt的移动开发即使在如今也不算完善,所以遇到坑是很正常的。不完善归完善,qml在界面的开发效率真的是令人难以拒绝。其中Qt Quick Controls 2里面的dialog使用起来有个问题,因为Qt本身绑定了dialog的取消确定信号,所以返回键按下的时候,dialog关了,当前页面也退出了,之前开发的时候当做技术债。现在有时间处理一下。

Qt Keys back键点击后  有按下和释放两个信号,按下的时候如果有dialog则不会触发按下的信号,而释放的信号与dialog无关。居于此我便做了差异化标志来实现。

main.qml

property bool unDialog:false

  Keys.onBackPressed():{
      unDialog = true
 }

Keys.onReleased():{

    if(!event.accepted && currentPage.onKeyBack && unDialog){

    currentPage.onKeyBack(event)

}

}

 

sub.qml

function onKeyBack(event){

    if(event.types == keys.back){

//to do some thing   

event.accepted = true

}

}

Dialog{

onRejected:{ //需要调用输入法的dialog

if(Qt.inputmethod.visible == true){

    dialog.open()

}

}

}

 

都是纯手敲的代码,感觉离开ide手感很不好,有时间再过来调整格式及错误

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/81594
推荐阅读
相关标签
  

闽ICP备14008679号