简介

跨平台、c++、支持Linux、Unix、window
包括QtCreater、Qt Designer

优势

1跨平台
2面向对象
3丰富的API、基于模板的collections、file、serizlization I/O、device
3支持3D渲染、OpenGL
4XML支持大量开发文档
5易学
6开发资料全面
7UI漂亮
8独立安装处理
9多语言
10面向对象
11

工具

1、Creator:环境
2、Designer:界面排版设计
3、Qmake:跨平台makefile生成器;
4、Qt Assistant:可定制可重发布的帮助文件和文件阅读器;
5、Qt Linguist:整套工具。快捷翻译,理顺国际化工作流的工具

基础模块

Qt core:定时器 容器 日期 时间 IO 图形 线程
Qt Gui:图形 字体 GL
Qt Multimedia:音频 摄像头
Qt Network:
Qt Qml:c++ api
Qt Quick:高度动画用户界面
Qt SQL;
Qt Test:单元测试功能
Qt webkit

扩展模块

Qt 3D
Qt Bluetooth蓝牙
Qt Contact 访问地址联系人数据库的c++
Qt Concurrent:方便多线程
Qt D-Bus:进程间交互
Qt OpenGL:方便在Qt5应用层使用?
Qt Location:定位导航未知搜索的QML和C++ API

..
.

Qt安装windows

下载qt-opensource-windows-x86-5.14.2在https://download.qt.io/archive/qt/5.14/5.14.2/
也在https://mirrors.tuna.tsinghua.edu.cn/qt/
参考https://www.jianshu.com/p/8d25ada86d25
也在qt官网(money、speed)

不要中文空格安装路径

留问qt-everywhere如何使用?
编译器MV MINGN有的不行区别?

应用包就存着 要是漏下载什么组件没选呢

知识

信号和槽机制signal&slot

信号本质是事件,展现方式为函数
槽函数不同普通函数,可以和信号关联,关联柄函数自动执行
两者使用Q Obhect::connect()函数实现

命令按钮→信号→应用程序窗口(槽功能)

信号函数:需要声明,不需要定义(实现),槽函数要定义

连接方式
1信号与信号
2信号与多个槽
3一个槽与多个信号

机制优点:
1类型安全
2松散耦合(一个类若要支持信号和槽,必须从QObject和QOject子类继承,Q和信号和槽机制不支持对模板的使用)
3效率:增强对象通信灵活性,却比调用非虚函数慢10倍(原因,多线程信号等待;编组解组传递的参数,安全遍历所有关联;需要定位接收信号的对象)

重要的函数
connect:信号发送者,发送者2;接受者;槽函数(接受到函数之后执行的函数)
QMetaObject::Connection QObject::connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type = Qt::AutoConnection)
method:receiver对象槽函数

动手开发PushButton控件

QPushButton是按钮类,基类是QAbstractButton,提供通用按钮功能。要掌握常用函数和信息和槽

QPushButton是Qt中最常用的控件之一,它是QAbstractButton的子类,提供了通用按钮的功能。QPushButton可以显示文本、图像或两者的组合,并且可以响应用户的点击事件。QPushButton的常用函数包括setText()、setIcon()、setCheckable()、setChecked()等。其中,setText()函数用于设置按钮上的文本,setIcon()函数用于设置按钮上的图像,setCheckable()函数用于设置按钮是否可以被选中,setChecked()函数用于设置按钮是否被选中。

QPushButton还提供了信号和槽机制,可以通过connect()函数将按钮的信号与槽函数关联起来。当按钮被点击时,会发出clicked()信号,可以通过connect()函数将clicked()信号与槽函数关联起来,从而实现按钮的响应功能。QPushButton还提供了pressed()、released()、toggled()等信号,可以根据需要进行关联。

除了QPushButton,Qt还提供了其他类型的按钮控件,如QToolButton、QRadioButton、QCheckBox等,可以根据需要选择使用。

QFileDialog::getOpenFileName(this,”打开文件”,”此电脑”) 是使用 Qt 中的 QFileDialog 类打开一个文件对话框窗口,允许用户选择要打开的文件。getOpenFileName 函数是 QFileDialog 类的静态函数,返回所选文件的路径。传递给函数的第一个参数(this)是文件对话框窗口的父窗口。第二个参数是窗口标题,在这种情况下是“打开文件”。第三个参数是要在其中启动文件对话框的目录,这种情况下是“此电脑”。

Qt之QString字符串分割、截取_qstring 截取_小师兄.的博客-CSDN博客

substring()方法_是小夏呀的博客-CSDN博客

c++ 中 get() 与 putback()用法_c++ putback_论菜鸟的自我修养的博客-CSDN博客

QString strTxtEdt = ui->textEdit->toPlainText();
putback
QString str = QString::number(value, 'f', 2);

mainwindow

QMenu* pFile=ui->menuBar->addMenu("帮助");
    QAction* pNew=pFile->addAction("关于此计算器");
    QAction* ppNew=pFile->addAction("关于backspace");

QByteArray、QChar、QString、string、char和unsigned char都是不同的数据类型,它们之间有很多区别。下面是一个表格,其中包含了这些类型的一些区别:

类型 存储单位大小 编码格式 种类数 变化范围
QByteArray 1 byte/char 无编码格式 256种 0~255
QChar 2 bytes/char Unicode编码格式 65536种 0~65535
QString 2 bytes/char Unicode编码格式 65536种 0~65535
string 取决于平台和编译器,通常为1 byte/char或2 bytes/char 无编码格式,取决于平台和编译器 取决于平台和编译器,通常为256种或65536种 取决于平台和编译器
char 1 byte/char 无编码格式 256种 -128~127
unsigned char 1 byte/char 无编码格式 256种 0~255

QByteArray是Qt中的字节数组类,用于存储二进制数据。QChar是Qt中的字符类,用于存储Unicode字符。QString是Qt中的字符串类,用于存储Unicode字符串。string是C++标准库中的字符串类,用于存储ASCII字符串。char是C++中的字符类型,用于存储ASCII字符。unsigned char是C++中的无符号字符类型,用于存储无符号ASCII字符。

希望这个表格能够帮助你更好地理解它们之间的区别。
(1) Qt QString、QByteArray和char* 三者之间的关系 - CSDN博客. https://blog.csdn.net/quietbxj/article/details/107482899.
(2) qt 整理解析QByteArray,QString,unsigned char之间的恩怨 …. https://www.cnblogs.com/RYSBlog/p/14373367.html.
(3) Qt中的QString,QByteArray,Qchar, char* - CSDN博客. https://blog.csdn.net/icyrat/article/details/6966303.

Qt QFile文件操作详解 (biancheng.net)


Comment
avatar
baixie-g
欢迎,阅读,点评
跟我走
Announcement
g的blog正在建设欢迎您
Recent Post
关于周更
关于周更
梦开始地方
梦开始地方
Info
Article :
4
Total Count :
2.1k
UV :
PV :
Last Push :