1.程序运行原理
#include "mainwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w; //创建窗口对象w
w.show(); //显示窗口
return a.exec(); //进入事件循环
}
2.QOBJECT宏
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT //使用信号槽或者定义信号槽,帮助通信,必须是qobject的子类
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
3.元编译系统
/* MOC 元编译系统
* 特殊关键字 signals,slots(槽函数),emit(发送信号)
* 在预编译前,用元编译器moc.exe,把QT的代码变成c++兼容的代码,
* 再由c++编译器处理
*/
4.QString的使用
PS:这个要创建控制台项目
4.1字符串---->数字,并计算
#include <QCoreApplication>
#include <QDebug> //要计算,要带这个
//采用unicode编码,每一个字符是一个16位的Qchar
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QString str1="123";
QString str2="123";
//数据转换,转成整型
int a1 = str1.toInt();
int a2 = str2.toInt();
qDebug() << a1+a2;
return a.exec();
}
4.2数值---->QString
#include <QCoreApplication>
#include <QDebug> //要计算,要带这个
//采用unicode编码,每一个字符是一个16位的Qchar
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
int a1 = 20;
QString str1 = QString::number(a1,2);
//默认为十进制,自己设置的是2进制
qDebug() << str1;
return a.exec();
}
4.3字符串的拼接
#include <QCoreApplication>
#include <QDebug> //要计算,要带这个
//采用unicode编码,每一个字符是一个16位的Qchar
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QString str1 = " hello";
QString str2 = " world";
qDebug() << str1 + str2;
//其他方法 append(在后面接上去) prepend(在前面接上去)
//str1.append(str2);
// qDebug() << str1;
str1.prepend(str2);
qDebug() << str1;
return a.exec();
}
4.4转换大小写
#include <QCoreApplication>
#include <QDebug> //要计算,要带这个
//采用unicode编码,每一个字符是一个16位的Qchar
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QString str1 = " Hello";
QString str2 = str1.toLower();
qDebug() << str2;
QString str3 = str1.toUpper();
qDebug() << str3;
return a.exec();
}
4.5判断字符长度
#include <QCoreApplication>
#include <QDebug> //要计算,要带这个
//采用unicode编码,每一个字符是一个16位的Qchar
int main(int argc, char *argv[])
{ //判断字符长度 count size length
QCoreApplication a(argc, argv);
QString str1 = " Hello world ";
int len1=str1.count();
int len2=str1.size();
int len3=str1.length();
qDebug() << len1;
qDebug() << len2;
qDebug() << len3;
//去除字符中的空格
QString str2 =str1.trimmed();//去除收尾的空格
qDebug() << str1;
qDebug() << str2;
int len4=str2.count();
qDebug() << len4;
QString str3 =str1.simplified();
//首位空格去掉所有的空格用一个空格代替
qDebug() << str3;
return a.exec();
}
4.6判断字符串是否是空的
#include <QCoreApplication>
#include <QDebug> //要计算,要带这个
//采用unicode编码,每一个字符是一个16位的Qchar
int main(int argc, char *argv[])
{ //判断是否为空 isNull isEmpty,推荐使用isEmpty
QCoreApplication a(argc, argv);
QString str1;
QString str2="";//包含一个\0
qDebug() << str1.isNull();
qDebug() << str1.isEmpty();
qDebug() << str2.isNull();
//能识别出\0
qDebug() << str2.isEmpty();
return a.exec();
}
4.7判断是否包含某个字符串
#include <QCoreApplication>
#include <QDebug> //要计算,要带这个
//采用unicode编码,每一个字符是一个16位的Qchar
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QString str1="hello world ";
//查看是否包含world,不区分大小写
bool iscon=str1.contains("world",Qt::CaseSensitive);
qDebug() << iscon;
return a.exec();
}
4.8判断是否以特定的后缀开头,结尾
#include <QCoreApplication>
#include <QDebug> //要计算,要带这个
//采用unicode编码,每一个字符是一个16位的Qchar
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QString str1="hello world.mp4";
//查看是否以特定的后缀结尾,区分大小写
bool ismp4=str1.endsWith(".mp4",Qt::CaseSensitive);
qDebug() << ismp4;
//查看是否以特定的字符串开头,区分大小写
bool ish=str1.startsWith("h",Qt::CaseSensitive);
qDebug() << ish;
return a.exec();
}
标签:argc,QT,int,str1,argv,笔记,自学,include,QString
From: https://blog.csdn.net/2301_76859795/article/details/137373415