顺丰科技QT面试题「建议收藏」

顺丰科技QT面试题「建议收藏」自定义控件:应该做过吧?能举几个例子吗?还有其他的吗?你觉得自定义控件的方法主要是哪些?答:从外观设计上:QSS、继承绘制函数重绘、继承QStyle相关类重绘、组合拼装等等从功能行为上:重写事件函数、添加或者修改信号和槽等等QSS:QSS平时使用的多吗?能举几个例子吗?都是如何使用,能说说吗?答:1.将QSS统一写在一个文件中,通过程序给主窗口加载;2.写成一个字符串中,通过程序给主窗口加载;3.需要使用的地方,写一个字符串,加载给对象;4.QTDesigner中填写;事件机制:

大家好,又见面了,我是你们的朋友全栈君。

自定义控件:

应该做过吧?能举几个例子吗?还有其他的吗?

你觉得自定义控件的方法主要是哪些?

答:从外观设计上:QSS、继承绘制函数重绘、继承QStyle相关类重绘、组合拼装等等

从功能行为上:重写事件函数、添加或者修改信号和槽等等

QSS:

QSS平时使用的多吗?能举几个例子吗?

都是如何使用,能说说吗?

答:1.将QSS统一写在一个文件中,通过程序给主窗口加载;

2.写成一个字符串中,通过程序给主窗口加载;

3.需要使用的地方,写一个字符串,加载给对象;

4.QT Designer中填写;

事件机制:

QT程序是事件驱动的,事件到处都可以遇到。能说说平时经常使用到哪些事件吗?

常见的QT事件类型如下:

键盘事件: 按键按下和松开     鼠标事件: 鼠标移动,鼠标按键的按下和松开

拖放事件: 用鼠标进行拖放     滚轮事件: 鼠标滚轮滚动

绘屏事件: 重绘屏幕的某些部分    定时事件: 定时器到时

焦点事件: 键盘焦点移动   进入和离开事件: 鼠标移入widget之内,或是移出

移动事件: widget的位置改变    大小改变事件: widget的大小改变

显示和隐藏事件: widget显示和隐藏    窗口事件: 窗口是否为当前窗口

知道QT事件机制有几种级别的事件过滤吗?能大致描述下吗?

答:根据对Qt事件机制的分析, 我们可以得到5种级别的事件过滤,处理办法. 以功能从弱到强, 排列如下:

1)重载特定事件处理函数.

最常见的事件处理办法就是重载象mousePressEvent(), keyPressEvent(), paintEvent() 这样的特定事件处理函数.

2)重载event()函数.

通过重载event()函数,我们可以在事件被特定的事件处理函数处理之前(象keyPressEvent())处理它. 比如, 当我们想改变tab键的默认动作时,一般要重载这个函数. 在处理一些不常见的事件(比如:LayoutDirectionChange)时,evnet()也很有用,因为这些函数没有相应的特定事件处理函数. 当我们重载event()函数时, 需要调用父类的event()函数来处理我们不需要处理或是不清楚如何处理的事件.

3) 在Qt对象上安装事件过滤器.

安装事件过滤器有两个步骤: (假设要用A来监视过滤B的事件)

首先调用B的installEventFilter( const QOject *obj ), 以A的指针作为参数. 这样所有发往B的事件都将先由A的eventFilter()处理.

然后, A要重载QObject::eventFilter()函数, 在eventFilter() 中书写对事件进行处理的代码.

4) 给QAppliction对象安装事件过滤器.

一旦我们给qApp(每个程序中唯一的QApplication对象)装上过滤器,那么所有的事件在发往任何其他的过滤器时,都要先经过当前这个 eventFilter(). 在debug的时候,这个办法就非常有用, 也常常被用来处理失效了的widget的鼠标事件,通常这些事件会被QApplication::notify()丢掉. ( 在QApplication::notify() 中, 是先调用qApp的过滤器, 再对事件进行分析, 以决定是否合并或丢弃)

5) 继承QApplication类,并重载notify()函数.

Qt 是用QApplication::notify()函数来分发事件的.想要在任何事件过滤器查看任何事件之前先得到这些事件,重载这个函数是唯一的办法. 通常来说事件过滤器更好用一些, 因为不需要去继承QApplication类. 而且可以给QApplication对象安装任意个数的事件。

文章链接:https://mp.weixin.qq.com/s/2z9bqc9ebcwv-Il9aMNO7g

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/152864.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月25日 下午3:46
下一篇 2022年6月25日 下午4:00


相关推荐

  • 互联网日报 | 4月28日 星期三 | 创维汽车品牌正式发布;Redmi正式进军游戏手机;网宿科技旗下云计算业务独立运营

    互联网日报 | 4月28日 星期三 | 创维汽车品牌正式发布;Redmi正式进军游戏手机;网宿科技旗下云计算业务独立运营今日看点✦腾讯:永久免费开放可疑黑灰产微信帐号反馈入口✦Redmi首款游戏手机RedmiK40游戏增强版发布,1999元起售✦天美汽车正式更名为创维汽车,创维汽车ET5正式发布✦…

    2022年6月7日
    43
  • 《炬丰科技-半导体工艺》无损伤清洗气泡振荡超音波技术

    《炬丰科技-半导体工艺》无损伤清洗气泡振荡超音波技术书籍 炬丰科技 半导体工艺 文章 无损伤清洗气泡振荡超音波技术编号 JFKJ 21 186 作者 炬丰科技关键词 无损伤清洗 稳定无剧烈空化 颗粒去除 超音波技术 单片清洗摘要使用具有极强腐蚀性的化学物质去除纳米颗粒表面晶圆 导致衬底损耗 这间接导致了 megasonics 的使用 提供声学汽蚀去除小颗粒 超音波确实会产生气泡空化对晶片结构施加机械力 产生剧烈的空化现象 如过渡空化或微空化喷射会破坏图案结构 本文提出了一种新的超音波技术该技术稳定地控制了气泡空化现象

    2026年3月17日
    2
  • 6.25科技新闻4

    6.25科技新闻4Lytro光场相机体验评测Lytro光场相机是一款可以先拍照,后对焦的相机。当时一出现就引起挺大的反响的,现在就随小编一起来体验一下这款光场相机吧! 关于光场相机的外观,小编不再累述了。各位可以到之前的《先拍后对焦LYTRO光场相机图赏》里面观看完整外观图。 首先我们来看看官方介绍:小编大概把图中的意思翻译了一下,翻译都在图上,看

    2022年6月5日
    133
  • 2017年科技界十大新闻,你都知道吗?「建议收藏」

    2017年科技界十大新闻,你都知道吗?

    2022年3月12日
    44
  • wince屏保时钟_下载机械时钟动态壁纸

    wince屏保时钟_下载机械时钟动态壁纸今天我们为大家分享一下最近某音非常火的电子时钟屏保,让你的电脑屏保动起来,而且随着时间流逝而变化(作为一个时间观念强的人,一定会看着屏保更加惜时如金),让你的电脑锁屏与众不同,瞬间黑科技感十足!今天的主角就是WordClock,Windows系统和Mac都有的!适用系统:Windows系统、Mac系统演示电脑:联想ThinkPadT440Windows10系统软件名称:W…

    2026年4月18日
    5
  • 小米骁龙855_小米商城抢购秒杀软件

    小米骁龙855_小米商城抢购秒杀软件每日的科技盘点,用一篇文章给你带来今天的大小科技事。今天的热点消息层出不穷,随我一起来了解一下吧。【小米11将在12月29日发布】《科创板日报》以及外媒GizmoChina在昨日表示,小米下一代旗舰手机小米11将于12月29日发布。此前各大博主也都表示小米11将在本月发售,这对于一款旗舰手机来说还是比较奇特的。从外观图片来看,小米11采用了蓝色渐变色后盖,后置摄像头布局为方形设计,带…

    2025年8月4日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号