1.helloworld代码框架(QT初认知)
int main(int argc,char *argv[])
{
QApplication a(argc,argv);
MainWindow w;
w.show();
return a.exec();
}
消息循环:这是QT类提供的一个机制,为后续的用户操作提供一个缓冲时间,想好逻辑。
环境使用部署:当需要用到QT中某个方面的比如网络通信这些的时候,需要在.pro文件里面的QT+=那一行指明你加了什么进去 比如说我要用网络通信功能,那么我就应当QT+=core gui network 加上去,实际上在编译过程中会自动添加这些东西进去
2.常用组件:QPushButton以及窗体基本api
头文件:#include < QPushButton >
button使用方法以及绑定方法
QPushButton * btn=new QPushButton();
btn->setParent(qw);
btn->setText("登录");
传递参数方法
QWidget qw;
QuickDemo qd;
qd.buttonTest(&qw);
qw.show();
重置窗口大小方法是resize 移动组件方法是调用其**move()**方法 设置窗口标题是调用其setWindows方法 设置窗口大小使用setFixedSize()方法 除此之外button也可以调整大小
3.常用基类介绍
1.QMainWindow 是主窗口类,主窗口具有主菜单栏、工具栏和状态栏,类似于一般的应用程序的主窗口; 2.QWidget 是所有具有可视界面类的基类,选择 QWidget 创建的界面对各种界面组件都可以 支持; 3.QDialog 是对话框类,可建立一个基于对话框的界面
4.基本页面布局以及按钮信号槽使用
信号槽 信号槽的使用基本是用于button,用于提交用户数据等,主要绑定方法是右键button然后转到槽,选择clicked(),然后就会自动生成函数,在函数里面编写页面逻辑即可
跳转页面 跳转页面首先需要新建一个页面,可以是mainWiindows(带有菜单栏,使用起来比较方便),也可以是Widget,然后在原页面的头文件里面加上包含新页面的头文件,然后在private里面加入新页面的指针,然后再跳转函数里面调用这个指针就可以了。
mtb=new MainTable();
mtb->show();
页面数据提交 首先需要设定好交互框,一般来说,都是用label来做提示作用,然后lineText作输入框,最终提供一个submitPushButton作数据提交,值得注意的是,定义好每个组件的时候都要把objectName给改一下,避免后期认不出来。
5.数据库连接及其基本使用
数据库连接
bool connectToDataBase(){
QSqlDatabase db=QSqlDatabase::addDatabase("QSQLITE");
if(db.open()){
qDebug()<<"数据库打开成功了";
return true;
}else{
qDebug()<<"数据库打开失败!";
return false;
}
}
数据库建表方法
QSqlQuery sqlQuery;
QString createSql="CREATE TABLE student(sId varchar primary key,sName varchar,sDorm varchar,sMajor varchar,sBrief varchar,sGrad int,sClass int,sGender int,sAge int)";
sqlQuery.prepare(createSql);
if(sqlQuery.exec()){
qDebug()<<"建立学生表成功!";
}else{
qDebug()<<"建立学生表失败!"<<sqlQuery.lastError();
}
数据库插入数据方法
QString insertSql="INSERT INTO student values(\"202025220227\",\"大司马\",\"泰山区1栋1号\",\"软件工程\",\"喜爱编程\",1,2,1,1)";
QSqlQuery sqlQuery;
sqlQuery.prepare(insertSql);
if(sqlQuery.exec()){
qDebug()<<"向数据库学生表插入数据成功了";
}else{
qDebug()<<"向数据库学生表插入失败了,原因:"<<sqlQuery.lastError();
}
向数据库中查询数据方法
QString selectSql="select * from student";
QSqlQuery sqlQuery;
sqlQuery.prepare(selectSql);
if(!sqlQuery.exec()){
qDebug()<<"查询操作错误!原因:"<<sqlQuery.lastError();
}else{
while(sqlQuery.next()){
QString sId=sqlQuery.value(0).toString();
qDebug()<<sId;
}
}
更新数据库内数据的方法
QString testName="张三";
QString updataSql="update student set sName = :sName where sId = :sId";
sqlQuery.prepare(updataSql);
sqlQuery.bindValue(":sName",testName);
sqlQuery.bindValue(":sId","202025220227");
if(sqlQuery.exec()){
qDebug()<<"修改数据成功了!";
}else{
qDebug()<<"修改数据失败了,失败原因:"<<sqlQuery.lastError();
}
用变量来替代字符串的办法 用:和即将要插入的东西绑定变量.
QString sId="00000002";
QString insertSql="INSERT INTO student values(:sId,\"大司马\",\"泰山区1栋1号\",\"软件工程\",\"喜爱编程\",1,2,1,1)";
QSqlQuery sqlQuery;
sqlQuery.prepare(insertSql);
sqlQuery.bindValue(":sId",sId);
if(sqlQuery.exec()){
qDebug()<<"向数据库学生表插入数据成功了";
}else{
qDebug()<<"向数据库学生表插入失败了,原因:"<<sqlQuery.lastError();
}
|