首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏全栈程序员必看

    Qt面试题(二)

    QT API 和开发工具对所支持的平台是不一致的 2以下关于 QT 的描述不正确的是 a. QT 支持 2D 图形渲染 b. QT 支持 3D 图形渲染 c. QT 支持 OpenGL d. QT 不支持 XML 3下关于不正确的是 a. 是面向嵌入式系统的 Qt 版本 b. 是 Qt 的嵌入式窗口 c. 基于 Windows 平台的开发工具 d. 以上都不是 45以下关于 Qt 线程叙述正确的是 a. Qt 中提供了 Thread 线程类 b. Qt 中提供了 QThread 线程类 c. 在持有 Qt 库互斥量时必须执行阻塞操作 b. 在调用除了 Qt 容器和工具类外的任何内容之前锁定 Qt 应用程序互斥 量 c. 只在 GUI 线程中使用 QNetwork 类 d. 因 为 C++是面向对象的编程语言而 QT 是基于 C++构造所以 QT 具有 OOP 的所有优点 运行速度QT 非常容易使用且也具有很快的速度。QT 的易用性和快速是密不可分的。

    2.9K20编辑于 2022-09-12
  • 来自专栏全栈程序员必看

    QT 面试题汇总

    信号和槽机制减弱了Qt对象的耦合度。激发信号的Qt对象无需知道是那个对象的那个信号槽接收它发出的信号,它只需在适当的时间发送适当的信号即可,而不需要关心是否被接受和那个对象接受了。 Qt就保证了适当的槽得到了调用,即使关联的对象在运行时被删除。程序也不会奔溃。 ③灵活性。一个信号可以关联多个槽,或多个信号关联同一个槽。 不足:速度较慢。 二、Qt信号和槽的本质是什么 回调函数。信号或是传递值,或是传递动作变化;槽函数响应信号或是接收值,或者根据动作变化来做出对应操作。 三、描述QT中的文件流(QTextStream)和数据流(QDataStream)的区别 文件流(QTextStream)。   自动连接 (Qt::AutoConnection):多线程时为队列连接函数,单线程时为直接连接函数。

    2.1K40编辑于 2022-09-07
  • 来自专栏全栈程序员必看

    Qt面试题整理

    信号和槽机制减弱了Qt对象的耦合度。 Qt信号和槽的本质是什么 回调函数 5、描述QT中的文件流(QTextStream)和数据流(QDataStream)的区别, 他们都能帮助我们完成一些什么事情. 接收数据: readAll/read 7、 描述QT下udp通信的整个流程 QT下udp通信服务器端和客户端的关系是对等的, 做的处理也是一样的. 1. 创建套接字对象 2. 如何使用C++模拟Qt信号和槽 Qt的信号和槽原理就是回调函数。所以,我们需要保存对象绑定的回调函数 1. 4.二进制兼容 其实以上的点都很细微,自己跟过源代码的人都会了解,qt是隐藏了d指针的管理和核心源的实现。像是在_p.h中部分函数的声明,qt也宣布在以后版本中将会删除。

    2.6K10编辑于 2022-09-12
  • 来自专栏全栈程序员必看

    C++QT常见面试题

    9.使用过什么数据库,qt如何操作数据库(增删改查等)? 10.如何看待Qt的应用场景? 11.什么是UI线程,UI线程阻塞后会怎样? 12.耗时操作如何处理? 13.描述QT中的文件流(QTextStream)和数据流(QDataStream)的区别, 他们都能帮助我们完成一些什么事情. 14. 描述过程, 如何实现一个自定义按钮, 使其在光标进入,按下,离开三种状态下显示不同的图片. 15.Qt Socket通信的过程。 16.遇到过中文乱码吗? 17.程序打包说一下 18.谈一下对Qt元对象系统的了解 19.Qt创建界面的几种方法? 20.什么是事件循环?

    1.6K30编辑于 2022-09-12
  • 来自专栏Qt6 研发工程师

    30道Qt面试题(答案公布)

    Qt历险记前五个答案✦ 1. Qt中常用的五大模块是哪些? Qt中常用的五大模块包括:• Qt Core:提供核心非GUI功能,如数据结构、文件操作、国际化等。 • Qt GUI:提供与平台无关的图形和基本窗口功能。• Qt Widgets:提供用于创建传统桌面应用程序的UI组件。• Qt Network:提供网络编程功能,如TCP/UDP通信。 在Qt开发中,如何进行界面设计以满足用户体验和产品的专业需求?• 使用Qt Designer设计界面。 在Qt开发中,如何确保代码的可读性和可维护性?• 遵循编码规范,如Qt的编码风格。• 使用清晰的命名和注释。• 模块化设计,减少耦合。✦ 18. 在Qt开发中,如何处理图形绘制和图像处理? • 使用Qt的性能分析工具(如Qt Creator的分析器)。• 优化算法和数据结构。• 使用多线程处理耗时任务。✦ 24. 在Qt开发中,如何优化应用界面加载速度?• 使用懒加载技术。

    3.2K01编辑于 2025-02-18
  • 来自专栏全栈程序员必看

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

    答:1.将QSS统一写在一个文件中,通过程序给主窗口加载; 2.写成一个字符串中,通过程序给主窗口加载; 3.需要使用的地方,写一个字符串,加载给对象; 4.QT Designer中填写; 事件机制: QT程序是事件驱动的,事件到处都可以遇到。 答:根据对Qt事件机制的分析, 我们可以得到5种级别的事件过滤,处理办法. 以功能从弱到强, 排列如下: 1)重载特定事件处理函数. 当我们重载event()函数时, 需要调用父类的event()函数来处理我们不需要处理或是不清楚如何处理的事件. 3) 在Qt对象上安装事件过滤器. Qt 是用QApplication::notify()函数来分发事件的.想要在任何事件过滤器查看任何事件之前先得到这些事件,重载这个函数是唯一的办法.

    1.1K10编辑于 2022-09-07
  • 来自专栏全栈程序员必看

    QT常见面试题,基础知识偏多

    QT程序是事件驱动的,事件到处都可以遇到。 QT版本: 请问使用的QT版本是?有没有使用过QT4?QT5的信号槽与QT4相比有什么改进? 答:通常使用的connect,实际上最后一个参数使用的是Qt::AutoConnection类型:Qt支持6种连接方式,其中3中最主要: 1.Qt::DirectConnection(直连方式)(信号与槽函数关系类似于函数调用 3.Qt::AutoConnection(自动方式) Qt的默认连接方式,如果信号的发出和接收这个信号的对象同属一个线程,那个工作方式与直连方式相同;否则工作方式与排队方式相同。 6.Qt::AutoCompatConnection 是为了连接Qt4与Qt3的信号槽机制兼容方式,工作方式与Qt::AutoConnection一样。

    6.8K10编辑于 2022-09-07
  • 来自专栏全栈程序员必看

    C++ Qt常用面试题整理(不定时更新)

    1.基础知识 1.Qt信号槽机制的优势和不足 优点:类型安全,松散耦合。缺点:同回调函数相比,运行速度较慢。 在socket编程中,这一过程由客户端或服务端任一方执行close来触发,流程如下: 2.Qt多线程同步的几种实现方式 (1)互斥量:QMutex QMutex类提供的是线程之间的访问顺序化。 var * var; mutex.unlock(); } 如果使用mutex加锁,却没有使用unlock解锁,那么就会造成死锁,其他线程永远也得不到访问变量的机会,所以为了解决这个问题,Qt } void function2() { lock.lockForWrite(); var = 100; lock.unlock(); } 和QMutexLocker一样,Qt

    8.7K11编辑于 2022-09-12
  • 来自专栏半生瓜のblog

    QTQT线程

    线程 QT中的QThread提供了与平台无关的线程,一个QThread代表了一个应用程序中可用独立控制的线程,它与进程中的其他线程共享数据,但是是独立执行的,QThread从run()函数开始执行,默认 run()通过exec()来开启事件循环,并在线程内运行一个Qt事件循环。

    2.2K41编辑于 2023-05-13
  • 来自专栏乐意学点小编程

    QTQt事件

    一、Qt事件 1、事件介绍 事件是应用程序内外部产生的事情以及动作的统称,常见的所有事件例如鼠标事件QMouseEvent,键盘事件QKeyEvent等等都是继承自QEvent 2、事件的处理 在Qt中几乎所有的 Numlock处于打开状态,第七条是输入法切换的 void Widget::keyPressEvent(QKeyEvent *event) { if(event->modifiers() == Qt ControlModifier) //检查是否按下了Ctrl键,event->modifiers返回当前按键事件的修饰键状态 { if(event->key() == Qt ::LeftButton) { qDebug() << "鼠标左键"; } if(event->button() == Qt::RightButton) { qDebug() << "鼠标右键"; } if(event->button() == Qt::MidButton) { qDebug() <

    1.6K10编辑于 2024-11-06
  • 来自专栏C++开发

    QTQT安装

    MinGW 7.3.0  64-bit  Qt  SDK内置的C++编译器,相当于windows版本的gcc,g++。  Qt Creater 如果要使用VS进行编译  接受 

    51010编辑于 2025-05-06
  • 来自专栏韩曙亮的移动开发专栏

    QtQt 开发环境安装 ( Qt 版本 5.14.2 | Qt 下载 | Qt 安装 )

    一、Qt 下载 Qt 开发环境下载地址 : https://download.qt.io/archive/qt/ 该界面可以下载 Qt 各个版本的开发环境 ; Qt 版本选择 , Qt 的各个大版本都在同步更新 5.14 版本中 , BUG 最少 , 性能最好的版本 ; 另外还有一点需要指出的是 Qt 从 5.15 版本开始 , 不再提供离线安装包 , 需要自己下载源码编译安装 , 因此这里选择安装 Qt 5.14.2 ) ; 二、Qt 安装 双击安装软件 , 点击 " Next " , 没有 Qt 账号 , 输入账户名邮箱 , 密码 , 确认密码 , 同意协议 , 然后点击 " Next " , 点击 " Next " 按钮 , 会弹出要去邮箱验证的信息 , 这里到邮箱中验证 , 到邮箱中接收 Qt 官方发送的邮件 , 到给定的网址填写账户信息 , 这 Qt 官方是真的骚 , 还带收集个人信息的 ; 点击 " Qt 安装目录 , 点击下一步 , 给了个警告 , 点击 Yes , 目录中是 Qt 安装文件 , 没有影响 , 继续往下走 , Qt 安装时 , 推荐将所有的组件全部安装 , 减少一些不必要的麻烦

    27.4K32编辑于 2023-03-29
  • 来自专栏乐意学点小编程

    QTQt网络

    一、Qt网络 在进行网络编程之前,需要在项目中的.pro文件中添加network模块 实际开发中不会用Qt直接写服务器的,因为服务器是没有图形化界面的,一般我们会用其他的语言软件写好程序之后与Qt联合使用 读取当前接收缓冲区中的所有数据并返回一个QByteArray对象 write(const QByteArray&) 把数据写入socket中 deleteLater 暂时把socket对象标记为无效,Qt

    1.1K10编辑于 2024-11-12
  • 来自专栏C++/Linux

    QTQt 网络

    Qt 网络 和多线程类似,Qt 为了⽀持跨平台,对网络编程的 API 也进行了重新封装。 在进行网络编程之前,需要在项目中的 .pro 文件中添加 network 模块。 添加之后要手动编译⼀下项目,使 Qt Creator 能够加载对应模块的头文件。 1.

    1.3K10编辑于 2024-08-13
  • 来自专栏半生瓜のblog

    QTQT容器

    QT容器 QString类 隐式共享: 隐式数据共享机制去最大化资源有效利用和最小化复制克隆操作。 BOOL qDebug()<<s4.startsWith("哔哩哔哩"); QString s5 = "tom"; qDebug()<<s5.startsWith("tom",Qt 是否包含 qDebug()<<s5.contains("o");//同样可以表明大小写是否敏感 //比较 qDebug()<<QString::compare("Tom","tom",Qt it_mrw.key()<<":"<<it_mrw.next().value(); } qDebug()<<moneyHash; ---- QVariant类 QVariant类能保存很多Qt 类型的值,包括QColor,QBrush,QFont,QRect,QString及QSize等等,而且能存放Qt的容器类型值。

    4.6K30编辑于 2023-05-13
  • 来自专栏乐意学点小编程

    QTQT入门

    一、简述QT 1、什么是QT QT是一个跨平台的C++开发框架,主要用于开发图形用户界面应用程序,但同样支持开发不带界面的命令行程序 这里的图形用户界面是一种人与计算机通信的界面显示格式,允许用户通过图形化的操作元素 广泛应用于桌面应用程序,移动应用程序,嵌入式系统 我们熟知的WPS office 就是QT开发的 二、QT的基本使用 前面安装啥的就不再多说了 1、新建项目 (1)选择项目模版 新建项目对话框里一共有五类模版 可以创建单元测试项目、Qt4设计师自定义控件、子目录项目等 Non-Qt-Project 非QT项目,可以创建纯C/C++项目 Import Project 导入项目,从版本控制管理系统的软件项目导入旧的项目 这里我们常用的只有第一种,然后右边会出现四类子模版 Qt Widgets Application:普通窗体模板,传统基于部件的窗体界面程序 Qt Console Application:Qt 控制台应用程序,因为 Qt 主要用于图形界面设计,这个控制台项目模板基本不用 Qt for Python:在Python下用 LGPL 的许可来开发闭源 Qt 软件 Qt Quick Application

    3.7K23编辑于 2024-10-08
  • 来自专栏半生瓜のblog

    QTQT对象树

    QT对象树 QT提供了对象树机制,能够自动、有效的组织和管理继承自QObject的对象。 当父类对象析构的时候,其对象链表中的所有(子类)对象也会被析构,父对象会自动,将其从父对象列表中删除,QT保证没有对象会被delete两次。

    1.8K10编辑于 2023-05-13
  • 来自专栏C++/Linux

    QTqt 文件操作

    qt 文件 1. Qt 文件概述 文件操作是应用程序必不可少的部分。Qt 作为⼀个通用开发库,提供了跨平台的文件操作能力。 Qt 提供了很多关于文件的类,通过这些类能够对文件系统进行操作,如文件读写、文件信息获取、文件复制或重命名等。 2. 输入输出设备类 在 Qt 中,文件读写的类为 QFile 。 QIODevice 是 Qt 中所有输入输出设备(input/output device,简称 I/O 设备)的基础类,I/O 设备就是能进行数据输入和输出的设备,例如文件是⼀种 I/O 设备,网络通信中的 文件读写类 在 Qt 中,文件的读写主要是通过 QFile 类来实现。在 QFile 类中提供了一些用来读写文件的方法。 文件和目录信息类 QFileInfo 是 Qt 提供的一个用于获取文件和目录信息的类,如获取文件名、文件大小、文件修改日期等。

    97310编辑于 2024-07-30
  • 来自专栏C++/Linux

    QTQt 多线程

    qt 多线程 1. Qt 多线程概述 在 Qt 中,多线程的处理⼀般是通过 QThread 类来实现。QThread 代表⼀个在应用程序中可以独立控制的线程,也可以和进程中的其他线程共享数据。 connect() 函数第五个参数为 Qt::ConnectionType,用于指定信号和槽的连接类型。同时影响信号的传递方式和槽函数的执行顺序。 Qt::ConnectionType 提供了以下五种方式: 4. 在 Qt 中,专门提供了 QWaitCondition 类来解决像上述这样的问题。 特点:QWaitCondition 是 Qt 框架提供的条件变量类,用于线程之间的消息通信和同步。 特点:QSemaphore 是 Qt 框架提供的计数信号量类,用于控制同时访问共享资源的线程数量。 用途:限制并发线程数量,用于解决⼀些资源有限的问题。

    95010编辑于 2024-08-02
  • 来自专栏C++/Linux

    QTQt 窗口 (QMainWindow)

    Qt 窗口 Qt 窗口是通过 QMainWindow类 来实现的。 QMainWindow 是一个为用户提供主窗口程序的类,继承自 QWidget 类,并且提供了一个预定义的布局。 停靠在右侧 Qt::TopToolBarArea 停靠在顶部 Qt::BottomToolBarArea 停靠在底部 Qt::AllToolBarAreas 以上四个位置都可停靠 示例: QToolBar 其中可以设置允许停靠的位置有: Qt::LeftDockWidgetArea 停靠在左侧 Qt::RightDockWidgetArea 停靠在右侧 Qt::TopDockWidgetArea 停靠在顶部 Qt 内置对话框 Qt 提供了多种可复⽤的对话框类型,即 Qt 标准对话框。Qt 标准对话框全部继承于 QDialog类。 ::WindowFlags flags = Qt::WindowFlags(), \ Qt::InputMethodHints inputMethodHints = Qt::ImhNone) ; 参数说明

    2.4K10编辑于 2024-07-16
领券