菜鸟修炼笔记--QT--【问题】界面切换时焦点各种异常的处理

  • 前言
  • 切换界面时需要完成的操作
    • 1. 焦点的设置
    • 2. 键盘的切换
  • 其他焦点丢失的原因

前言

由于工作需要,我最近一直在使用QT来设计界面。不幸的是,在设计界面切换的逻辑时,经常会出现各种各样的问题,比如:焦点不见、出现两个焦点、界面切换了但是焦点还在原界面。经过多种尝试,我发现这些问题最后都归结于同一个原因:“在界面切换时没有做好焦点切换”。为了方便之后遇到类似的问题能有所参考,本文将记录在界面切换时需要注意的一些事项或者是需要完成哪些操作。

切换界面时需要完成的操作

1. 焦点的设置

在隐藏当前界面进行新界面时,要设置新界面的焦点,且要注意的是,此操作需要在新界面show之前完成,否则可能会出现问题。

    new_widget->set_cur_focus();//此处在新界面的方法中设置焦点new_widget->show();

2. 键盘的切换

在切换界面时,需要对键盘进行切换,当前界面需要释放键盘,而新界面需要抓取键盘。(此操作不一定需要)

    this->releaseKeyboard();this->hide();new_widget->grabKeyboard();new_widget->set_cur_focus();new_widget->show();

其他焦点丢失的原因

  1. 因为焦点被设置在界面上了,这种情况的解决方法就是将界面的focuspolicy参数设置为nofocus就行了。

菜鸟修炼笔记--QT--【问题】界面切换时焦点各种异常的处理相关推荐

  1. 菜鸟修炼笔记--QT--“QPaintDevice: Cannot destroy paint device that is being painted”

    菜鸟修炼笔记--QT--"QPaintDevice: Cannot destroy paint device that is being painted" 前言 一.出错代码 二. ...

  2. QT QTreeWidget 行切换时改变背景色

    文章目录 QT QTreeWidget 行切换时改变背景色 1.关联信号槽. 2.写信号槽函数: QT QTreeWidget 行切换时改变背景色 1.关联信号槽. 当QtreeWidget 的选中状 ...

  3. android客户端在多个界面切换时保持socket的链接的实例

    鉴于自己的痛苦,研究一个socket在多个界面切换时保持链接的问题,令我纠结很久,现在我提供客户端的源码给有需要的人参考. 1.ApplicationUtil类: import java.io.Dat ...

  4. QT之界面切换、子窗口切换主窗口、返回按钮的实现

    Qt 中我们经常会用到好几个界面,那么这几个界面之间来回切换就是一个经常出现的问题.之前我也总是被这个问题困扰,现在写一个样例程序当作一种解决方案,希望能给大家启发. 首先我定义了两个界面,一个主界面 ...

  5. 随笔:说说第一次在android中嵌入非全屏显示的unity游戏时的坑之——界面切换时出现延迟/卡顿/花屏等现象解决方法

    One 最近对接了个unity3D做的小游戏到android项目中:游戏嵌入项目的界面且非全屏显示,项目几经波折,到我手上的时候,已经采用了在同一个activity中用两个View来分别显示andro ...

  6. Qml界面切换时,字体消失或乱码

    文章目录 前言 效果图 原因分析 解决方案 前言 最近开发qml 桌面应用时,在同事的 win8系统 系统上,字体会离奇消失或者乱码,在win7, win10上面就不会有这个问题,我自己下的win8也 ...

  7. C++笔记-Qt中使用Lambda时[]中的形式

    有几个地方要注意的: []这个表示Lambda的开始,如果要加参数可以这样:[]()后面括号里面放参数,Qt中connect中的信号,参数 1. []:里面为空,表示不使用任何参数对象的参数: 2. ...

  8. 第2节 多界面切换之面板调用

    第2节 多界面切换之面板调用 本节主要实现多界面之间的切换,并以登录界面说明. 程序链接 1. 登录界面前面板设置 首先在前面板中拖入字符串输入控件,并设置为用户名和密码:其次拖入确定和取消按钮,以实 ...

  9. MATLAB打包APP后运行,app内部界面切换出错问题及解决方案

    matlab app运行时界面切换出错问题及解决方案 matlab app的编写 目前,使用matlab编写基于matlab环境的app有两种方式,一种是传统的GUI功能,还有一种是The MathW ...

最新文章

  1. 智能实验室-杀马(Defendio) 3.0.0.580 beta 4
  2. 201621123009 《Java程序设计》第二周学习总结
  3. matlab中的@函数
  4. 重构指南 - 引入参数对象(Introduce Parameter Object)
  5. async await 同步方法调用异步方法死锁
  6. Spring Cloud 未来发展方向
  7. day8--pandas
  8. Netty自带的心跳机制——IdleStateHandler
  9. 离散数学11:图的着色
  10. 新手如何从零开始学习unity
  11. 偏振融合伪彩色图像(原理)
  12. Linux 压缩、解压、打包操作
  13. 大整数运算之 大整数加法、减法、乘法
  14. C++算法复习之深度优先搜索(dfs)与解救小扣题解
  15. 机器学习算法优缺点_用于机器学习的优化算法的优缺点
  16. Android NFC开发详解 总结和NFC读卡实例解析
  17. 【软考】系统集成项目管理工程师(十四)项目合同管理
  18. C++ c++11(上)
  19. 国外信号与系统经典书籍收藏
  20. php 将文件打包成 zip

热门文章

  1. 英语简述计算机的发展史,计算机的发展历史-简述计算机的发展史
  2. ubuntu官方国内源
  3. “电子哨兵”助力防疫 火眼金睛秒识别
  4. java pmd 规则_编写自定义的PMD规则
  5. 编辑的福音——一款用python编写的文字素材采集分析工具
  6. uniapp自定义组件在h5显示,微信小程序不显示?
  7. 20天拿下华为OD笔试之【DFS/BFS】2023Q1A-开心消消乐【闭着眼睛学数理化】全网注释最详细分类最全的华为OD真题题解
  8. 计算离散点曲率的方法
  9. IT人的成长与修养----管理路线pk技术路线
  10. 为vs code中C++配置opencv4.5.4