QT基本使用

目录

一、QWidget,QDialog,QMainWIndow的异同点

二、信号与槽

1、信号与槽

2、自动关联信号与槽

3、自定义信号与槽

①、设定槽

②、设定信号

四、模态、非模态窗口

1、新窗口的创建

 2、模态/非模态窗口的创建

五、加载资源的方式

一、QWidget,QDialog,QMainWIndow的异同点

        QWidget:是一个干干净净的窗口

        QDialog:是一个对话窗口

        QMainWIndow:在QWidget基础上多了状态栏

一般的话使用QWidget,需要什么就自己加什么上去,当然自己加菜单栏和状态栏都可以

int main(int argc,char *argv[])
{
    QApplication a(argc,argv);
    Widget w;
    w.show();
    /*
    w.x() 屏幕x坐标
    w.y() 屏幕y坐标
    w.width() 屏幕宽
    w.height() 屏幕高
    一般Qt里的输出都是qDebug()<<进行输出
    */
    return a.exec();
}

二、信号与槽

1、信号与槽

        一个发送者,一个接收者,发送者发送一个消息出来,接收者接收消息,然后处理消息做因该做的事情。(发送者就相当于信号,接收者就相当于槽)

        信号:就理解为用户发出的一个消息 在代码中的体现就是一个函数的声明(没有实现),可以带参数和不带参数,关联的槽,也必须参数列表和信号的参数列表一样,必须写在signals:属性下面

        槽:某个消息发出之后要执行的函数,当然这里需要关联信号与槽 在代码中的体现是一个函数(有实现) 只需要在定义之前,关联好信号与槽那么在发出信号的时候就能执行这个信号关联好的槽

2、自动关联信号与槽

         1、在创建项目(双击项目名.ui即可转到界面)中拖入一个push Button,右键这个按钮

         2、点击转到槽...

         3、单击按下clicked()

        随后会生成下面的代码

 

        这个函数如同槽一样,点击按钮发生信号,槽接收到信号后执行里面所写的代码

【拓展】 

Push Button-------1、双击可以改变里面的名字

                            2、右键可以改变对象名字以及许多属性,之后再谈

3、自定义信号与槽

①、设定槽

1、找到槽   

2、对槽进行实例化

         以上2步操作完成了槽函数的实例化

②、设定信号

1、找到位置写下需要的信号 

2、对信号与槽进行关联

3、关联起来

效果展示:

【总结】

1、自动生成的槽,可以右键添加槽进行添加来实现

2、自定义槽需要进行①写槽->②实现槽->③写信号->④槽与信号关联->⑤->发送信号

3、这里按F4可以快速切换,在编程的时候可以试试

四、模态、非模态窗口

1、新窗口的创建

①、右键点击Add New.. 

 ②、点击Qt然后Qt设计师界面类

③、选取蓝色框框 

 这里的名字随便取

 这样项目就多了一个Dialog窗口可以使用了

 2、模态/非模态窗口的创建

        ①、需要使用dialog窗口

        ②、模态窗口 (exec()   调用 ):就是必须要把这个窗口处理完,那么才能操作其他窗口

        ③、非模态窗口(show()  调用 ):不必把这个窗口处理完,也能操作其他窗口

五、加载资源的方式

 ①、右键点击Add New.. 

 ②、点Qt Resource File

 ③、输入文件名

 ④、再进行文件添加

         以上为Qt的基本使用规则,也是设计时会使用到的一些功能。

  • 6
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
QT是一种基于C++的开发框架,支持跨平台的GUI应用程序开发。MySQL是一种免费开源的关系型数据库管理系统。QT提供了方便的MySQL接口类,使得我们可以轻松地把QT应用程序与MySQL数据库进行整合。 QT中主要使用QSqlDatabase类来连接MySQL数据库。使用时需要首先在QT工程中包含QtSql库。然后在代码中使用QSqlDatabase类进行连接,如下所示: QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("localhost"); //设置主机名 db.setPort(3306); //设置端口 db.setDatabaseName("mysql"); //设置数据库名称 db.setUserName("root"); //设置用户名 db.setPassword("123456"); //设置密码 在连接成功后,我们可以使用QSqlQuery类进行SQL语句的执行和结果的获取,如下所示: QSqlQuery query; query.exec("SELECT name FROM student"); //执行SQL语句 while (query.next()) { //循环遍历数据 QString name = query.value(0).toString(); //获取name字段的值 qDebug() << "name:" << name; } 除了基本的SQL查询,QT还提供了许多便捷的API,例如QSqlTableModel、QSqlRelationalTableModel和QSqlQueryModel等类,可以更加方便地实现数据的增删改查等操作。此外,QT还提供了QSqlRelationalDelegate类和QSqlRelationalMapper类等类,可以方便地实现表格的外键关联和图形界面控件与数据库表的绑定。 总之,QT和MySQL的结合,可以让我们更加方便地实现数据的存储、读取和处理,大大提高了开发效率。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

small建攻

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值