了解Qt项目


前言

Qt是一个跨平台的 C++ 开发库,主要用来开发图形用户界面(Graphical User Interface,GUI)程序,当然也可以开发不带界面的命令行(Command User Interface,CUI)程序。


一、Qt

Qt是一个跨平台的 C++ 开发库,主要用来开发图形用户界面(Graphical User Interface,GUI)程序,当然也可以开发不带界面的命令行(Command User Interface,CUI)程序。Qt 支持的操作系统有很多,例如通用操作系统 Windows、Linux、Unix,智能手机系统 Android、iOS、WinPhone, 嵌入式系统 QNX、VxWorks 等等。Qt 除了可以绘制漂亮的界面(包括控件、布局、交互),还包含很多其它功能,比如多线程、访问数据库、图像处理、音频视频处理、网络通信、文件操作等,这些 Qt 都已经内置了。

二、项目

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210602204035276.png

一个项目包括以下文件:

  • 项目管理文件assignment_1.pro,存储项目设置的文件
  • 主程序入口文件main.cpp,实现main()函数的程序文件
  • 窗口界面文件widget.ui,一个 XML 格式存储的窗体上的元件及 其布局的文件
  • widget.h是窗口类的头文件
  • widget.cpp为类的定义实现文件

一、".pro"

以".pro"为后缀的文件是项目的管理文件,文件名就是项目的名称。

QT       += core gui  /*表示项目中加入core gui模块。core gui是Qt用于GUI设计的类库模块,如果创建的是控制台(Console)应用程序,就
不需要添加core gui*/

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets  /*条件执行语句,表示当 Qt 主版本大于 4 时,才加入 widgets 模块*/

CONFIG += c++11  /*能够使用C++11*/

# You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

/*源程序文件*/
SOURCES += \
    main.cpp \
    widget.cpp

/*头文件*/
HEADERS += \
    widget.h

/*窗体文件*/
FORMS += \
    widget.ui

# Default rules for deployment.
qnx: target.path = /tmp/$${
   TARGET}/bin
else: unix:!android: target.path = /opt/$${
   TARGET}/bin
!isEmpty(target.path): INSTALLS += target

  • Qt += ##——添加项目所需要的类库模块,可根据项目需求添加

二、“main.cpp”

  • 3
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
2022年11月4日-2022年11月14日购买当前课程赠送课程学习地址如下:https://edu.csdn.net/course/detail/32434https://edu.csdn.net/course/detail/35658https://edu.csdn.net/course/detail/30223https://edu.csdn.net/course/detail/32408https://edu.csdn.net/course/detail/32429注:因赠送课程不会出现在已订阅课程列表中,以下课程学习地址一定要收藏保存。#课程服务 在线答疑:本课程设有专门的讨论留言区,学习中遇到任何问题,直接给老师留言即可,老师都会及时进行回复。远程协助:如果遇到复杂问题,老师还可进行远程协助,这个一般可不是一两百元的课程就能享受到的。源码分享:为了让大家更好的进行项目实战,老师还将课程中涉及到的所有源码分享给学员,按照视频中的提示进行下载即可。在CSDN分享C++ Qt开发知识已经有6年了,感谢众多博友对我的支持,了解到很多人对Qt的使用还是有些困扰,例如Qt环境搭建,Qt布局的使用,如何使用Qt编写复杂的界面,如何自定义非标控件,Qt如何和Web交互,Qt和后台接口如何交互等;经过这几年的整理,我决定出这套《Qt高级开发视频教程》,带领大家学习Qt高级开发知识,学习如何使用Qt开发企业级别的项目;通过本课程的学习,大家将会达到企业招聘的中高级要求。为了照顾零基础学员,本课程第一章会介绍Qt环境搭建、QtCreator / VS2019的基本使用方法,Qt整体架构、Qt信号机制,Qt内存管理等知识。即使没有Qt开发的学习经验,也能跟着课程顺利学习。课程核心知识点地图如下: 课程每章核心知识点介绍如下: 第一章:介绍Qt环境搭建、QtCreator / VS2019的基本使用方法,Qt整体架构、Qt信号机制,Qt内存管理等知识。第二章:了解到很多学员对于Qt界面布局很不熟悉,将会详细介绍Qt设计器布局,以及如何C++代码手写布局,从常见的企业级项目入手,带领大家学会各种布局的实现,例如WPS、腾讯会议、优酷、迅雷等界面的实现;界面布局会了,这是企业项目开发的第一步,还有更重要的无边框窗口,如何设计一个合理的无边框窗口很重要,第三/四章:详细介绍如何实现一个无边框窗口,如何自定义标题栏,如何实现拖拽拉伸;第四章将会介绍如何自定义非标控件,优化Qt界面。第五章:介绍Qt web混合编程,一个商用项目,必然会涉及到web交互,这也是很多Qt开发者的弱项,这一章讲详细介绍C++ Qt web混合开发。第六章:既然是做企业级项目,必然需要和后台交互,http编程也是必要的,将详细介绍http编程,用户注册,登录,后台接口请求等知识;通过第五、六章的学习,将会是你的Qt开发技术更上一层楼。第七章:介绍Qt并发编程,耗时任务处理,进程调用等知识。第八、九章:讲解 Qt 比较重要的知识,图形视图结构,以及MVD模式;通过这两章的学习,大家会对图形视图有更好的了解。第十章:本章是独立章节,主要介绍Qt中一些特殊技巧,项目编译,dpi适配、多语言等知识。第十一章:是我们的企业级项目实战:实现一个视频会议客户端,本项目可以进行多人视频通话,直播,桌面分享等功能,本项目我会从零开始,进行项目搭建,功能调试,bug fixed, 带领大家做一个企业级项目。希望通过本课程的学习,大家的C++ Qt开发技术能有质的飞越,能找到自己心仪的工作。课程中如果讲的不对的地方,请大家指出,我及时修正,我也只是一个普通开发者,也不是所有的技术都会,尽我所能,把我所会的教给大家,让我们一起为Qt的发展,尽一份绵薄之力。 下面是本课程一些项目的截图: 1 可以滑动的设置界面         2 所有图形的绘制       3 视频播放器          4 高仿youku界面         5 视频会议         相信通过本课程的学习,大家有能力实现绝大部分客户端项目,从此用C++ Qt再也不会有难写的界面。
好的,这里给您提供一个简单的Qt项目实例,就是一个简单的计算器程序。以下是该程序的主要功能: - 可以进行加、减、乘、除四则运算。 - 可以输入小数和负数。 - 可以进行连续计算。 以下是该程序的源代码: ```cpp #include <QtWidgets> int main(int argc, char *argv[]) { QApplication app(argc, argv); // 创建主窗口 QWidget *mainWindow = new QWidget; mainWindow->setWindowTitle("简单计算器"); // 创建文本框和按钮 QLineEdit *lineEdit = new QLineEdit; QPushButton *buttonAdd = new QPushButton("+"); QPushButton *buttonSubtract = new QPushButton("-"); QPushButton *buttonMultiply = new QPushButton("×"); QPushButton *buttonDivide = new QPushButton("÷"); QPushButton *buttonClear = new QPushButton("清除"); QPushButton *buttonEqual = new QPushButton("="); // 创建布局 QGridLayout *layout = new QGridLayout; layout->addWidget(lineEdit, 0, 0, 1, 4); layout->addWidget(buttonAdd, 1, 0); layout->addWidget(buttonSubtract, 1, 1); layout->addWidget(buttonMultiply, 1, 2); layout->addWidget(buttonDivide, 1, 3); layout->addWidget(buttonClear, 2, 0, 1, 3); layout->addWidget(buttonEqual, 2, 3); mainWindow->setLayout(layout); // 连接按钮的信号和槽 QObject::connect(buttonAdd, &QPushButton::clicked, [=]() { double num = lineEdit->text().toDouble(); lineEdit->setText(QString::number(num + lineEdit->text().toDouble())); }); QObject::connect(buttonSubtract, &QPushButton::clicked, [=]() { double num = lineEdit->text().toDouble(); lineEdit->setText(QString::number(num - lineEdit->text().toDouble())); }); QObject::connect(buttonMultiply, &QPushButton::clicked, [=]() { double num = lineEdit->text().toDouble(); lineEdit->setText(QString::number(num * lineEdit->text().toDouble())); }); QObject::connect(buttonDivide, &QPushButton::clicked, [=]() { double num = lineEdit->text().toDouble(); if (num == 0) { QMessageBox::warning(mainWindow, "警告", "除数不能为0"); return; } lineEdit->setText(QString::number(num / lineEdit->text().toDouble())); }); QObject::connect(buttonClear, &QPushButton::clicked, [=]() { lineEdit->clear(); }); QObject::connect(buttonEqual, &QPushButton::clicked, [=]() { double num = lineEdit->text().toDouble(); lineEdit->setText(QString::number(num)); }); // 显示窗口 mainWindow->show(); return app.exec(); } ``` 该程序使用了Qt的GUI库,创建了一个主窗口,并在窗口中添加了一个文本框和一些按钮,实现了简单的加、减、乘、除四则运算。当用户点击按钮时,程序会根据文本框中的数字进行相应的计算,并将结果显示在文本框中。这只是一个简单的Qt项目实例,如果您想了解更多关于Qt的内容,可以参考Qt官方文档或者其他的Qt教程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值