qt checkbox 选中事件_Qt基础知识学习

本文介绍了Qt的基础知识,包括Qt的简介、安装过程、新建Qt程序的方式、信号与槽机制的使用、事件机制的概念,以及SQLite数据库在Qt中的应用。详细讲解了如何连接和操作SQLite数据库,最后阐述了如何生成和发布Qt应用程序的完整步骤。
c2c61ec65619a77474085e0858c40908.png0b549de33450fe133ad84611cf9d6b21.png

Qt基础知识学习

Qt

C++

SQLite

★★★★★

  Qt · 简介

Qt是由Qt Company开发的面向对象的跨平台C++图形用户界面应用程序开发框架。

前期 · 准备

01

辨析Qt(开发包/库文件)与Qt Creator(IDE,即集成开发环境)

Qt如上定义是图形用户界面应用程序开发框架,可简单理解为开发包或库文件;而Qt Creator相当于集成的编译器,用于将源代码编译成可执行程序。

02

Qt、Qt Creator的下载和安装

以Qt5.8.0版本为例:

(1) 官网下载qt-opensource-windows-x86-5.8.0.exe(应用程序)并运行——(opensource表示开源版本,windows-x86表示Windows平台,5.8.0是当前版本号);

(2) 登录(Login)与注册(Sign-up)环节可直接跳过(skip),不影响程序的安装;

(3) 安装文件夹——安装路径的设置(注意:安装路径不能有中文);

(4) 选择组件(保持默认选择);

(5) Launch Qt Creator(启动Qt Creator);

Qt程序 · 设计

01

新建Qt程序的两种方式

01

|使用纯代码方式编码;

02

|使用.ui文件(进入设计模式)

_
_

02

Qt程序文件类型主要包括:

01

|.pro文件:项目文件,包含项目相关信息;

02

|.cpp文件(源文件)

03

|.h文件(头文件)

04

|.ui(界面文件)

05

|.qrc(资源文件)

_
_
_

03

Qt Creator提供三个窗口基类:

01

|QMainWindow: 主窗口类

02

|QDialog: 各种对话框的基类

①模态对话框:在其没有被关闭之前,用户不能与同一个应用程序的其他窗口进行交互,直到该对话框关闭;

②非模态对话框:当被打开时,用户既可选择和该对话框进行交互,也可选择同应用程序的其他窗口交互

03

|QWidget: 基础窗口部件类,所有的窗口部件都继承自QWidget

_
_
_
_

04

Qt相关机制

信号与槽机制

信号与槽机制内涵

信号与槽用于两个对象之间的通信,信号与槽机制是Qt的核心特征,也是Qt不同于其他开发框架的最突出的特征,即当改变了一个部件时,其他部件能了解到该变化并执行相应槽函数代码。

信号与槽函数的声明

声明信号:关键字signals;声明槽函数:关键字slots

不同窗口的响应

同一窗口无需显式发射信号,不同窗口可用关键字emit显式发射信号从而实现(触发一窗口类的控件,而在另一窗口类中做出相应的响应)的效果。

信号与槽关联

——注意:一个信号可与多个槽函数关联

方式一:connec()关联

connect(发射信号的对象,信号,接受信号的对象,槽函数)

如:connect(btn,SIGNAL(clicked(bool)),this,SLOT(adding()))

方式二:在设计方式关联

进入设计模式→点击设计器上方的“编辑信号/槽”图标或者按下快捷键F4,从而进入部件的信号与槽的编辑模式→在控件上按住鼠标左键,然后拖动到窗口界面,再松开鼠标左键→弹出配置连接对话框,并选中下面的“显示从QWidget继承的信号和槽”选项→左边信号栏选定信号,右边槽函数栏选定相应槽函数。

0334ff7794f11edb059f972d45534202.png8d4b73f469d616187514eb902d3c1d5b.png

方式三:自动关联

设计模式中右击控件选择“转到槽”就实现了关联,并可在相应的.cpp文件中进行槽函数的编码。自动关联就是将关联函数整合到槽命名中,由字符on、发射信号的部件对象名和信号名组成,如on_pushButton_clicked();

事件机制

事件由应用程序内部(如QTimer定时器事件)或者外部(如鼠标事件和键盘事件)产生,被封装成一个个对象组成队列,再通过QApplication::exec()进入事件循环处理。

——Qt程序是事件驱动的,事件的发生和处理是程序运行的主线。

_
_
_
_

05

SQLite数据库的应用

(1)数据库(Database)概念:存放数据的仓库,可供多个用户共享并具有一定的安全性。

(2)数据定义语言(DDL,Data Definition Language)、数据操纵语言(DML、Data Manipulation Language)、数据查询语言(DQL、Data Query Language)

(3)Qt提供进程内轻量级数据库SQLite,不需要配置,不需要安装,也不需要管理员(且编程接口简单易用)→下载运行数据库可视化工具SQLiteStudio

(4)SQLiteStudio的使用:

①添加数据库

②设置数据库名称和路径(或直接选择数据库文件)后,测试连接,连接完成后点击OK即可。

da417aab588e6417c46a41c94ccfbccb.pngde63eff25183c17d7d6a6317c31ebbbe.png

③“结构”中显示数据框架(其中Primary Key为主关键字),“数据”中显示具体数据,如下:

f0c53733399a5b0be37ae36c42f110fc.pngab88a9e1a0093a2b6906049f6076228b.png

(5)Qt操作数据库

①  修改项目配置文件

——在项目的.pro文件中加入QT += sql语句

②  加入头文件

#include

#include

③  连接数据库:

如:QSqlDatabase  db = QSqlDatabase::addDatabase("QSQLITE");

④  设置数据库名称:

如:db.setDatabaseName("info");

⑤  打开数据库:

如:db.open();

⑥  QSqlQuery类用于执行SQL语句:

如:QSqlQuery query;

query.exec("create table users(name text primary key,password int,phoneNumber int)");//创建表格

(6) 简单的SQL语法:

①  创建表格

格式:create table 表名(内容 类型)

②  向表中插入信息

格式:insert table 表名 values(表中的内容)

③  从表中删除信息

格式:delete from 表名 where 列名 = 条件

④  查询表中的内容

格式:select 列名 from 表名 where 列名 = 条件

查询所有的信息:select * from 表名

⑤  修改表中的数据

格式:update 表名 set 列名 = 新内容 where列名 = 条件

⑥  删除表格

格式:drop table 表名

生成应用程序(.exe) · 发布集合

01

打开Qt工程,以Release方式编译运行项目

02

进入build-***-Release工程目录,拷贝***.exe文件

03

新建一文件夹,复制***.exe文件

04

打开Qt for Desktop

如下:

b4e6b940d4accf12a8c9ec18f59103ff.png

05

进入新建文件夹所在目录,执行windeployqt (主文件名.exe)命令,如

6ee527afa2898734b475b57d16a61e38.png

06

然后在新建文件夹中就可以看到windeployqt工具自动复制的插件文件夹和dll文件、qm文件。这时候得到的就是完整的应用程序(.exe)发布集合。

猿于此

当你感到悲哀痛苦时,最好是去学些什么东西。学习会使你永远立于不败之地。

414c19251048d804fe5847c70e2fc67b.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值