Qt介绍面试题一
Qt父子树节点管理机制:是管理界面组件和其他对象生命周期的机制,这种机制确保了当父对象被销毁时,其所有的子对象也被自动销毁,避免内存泄露,简化对象管理。对象所有权,创建父对象,父对象管理子对象生命周期。自动清理,父对象被销毁,子对象自动删除。信号和槽,子对象可以连接父对象的信号和槽。对象树结构,对象间形成树状结构,顶层对象无父对象。
Q事件循环
在图形界面gui应用程序中,事件循环是一个无限循环,等待来自操作 系统中的事件,比如键盘输入,鼠标点击,定时器超时等。然后将这些事件分发到相应的窗口或控件进行处理。事件循环通常是由QCoreApplicaation(非gui应用程序)或者QAapplication(gui应用程序来管理)。当执行QApplication中exec()方法时,实际上是启动了事件循环。事件循环会一直运行,直到调用了exit()方法或者将最后一个顶级窗口关闭 。事件循环任务主要包括等待事件(从操作系统接收事件),事件过滤(初步处理事件),事件分发(根据目标对象分发事件),事件分发(根据目标对象分发事件),事件处理(响应事件)。
事件循环其他特性。信号和槽,当一个对象发射 信号时,它会被添加到事件队列中,然后在事件循环中被分发到连接的槽函数进行处理。这种机制使得不同的对象在不直接相互调用的情况下,进行通信和交互。定时器,当定时器到期时,定时器生成定时事件,并将其放入事件队列,事件循环中分发到相应的对象进行处理。多线程:每个线程都有自己的事件循环,这使得不同的线程可以独立的处理事件,提高应用程序并发性和响应性。例如可以在一个工作线程处理耗时的任务,并在处理完成时发出型号通知主线程。