qt应用程序开发框架-快速入门篇(代码片段)

Henrik-Yao Henrik-Yao     2023-03-22     754

关键词:

文章目录

一.Qt介绍及安装

Qt是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,Qt很容易扩展,并且允许真正地组件编程。

Qt使用效果
Qt下载地址

https://download.qt.io/

依次进入archive->qt目录,安装最新版本即可,旧版本可能存在一些玄幻的问题

如果下载速度不行的话,可以去中科大的镜像下载

  • 中国科学技术大学:http://mirrors.ustc.edu.cn/qtproject/

二.QtCreator介绍

安装好后在对应的目录下找到QtCreator,QtCreator是Qt官方的IDE,专门用Qt框架开发图形界面的
在QtCreator可以新建,打开,编辑项目
一个项目一般由以下几个部分组成

  • 配置文件.pro
  • 头文件.h
  • 源文件.cpp
  • QML文件.ui
  • 资源文件.prc

三.QtDesigner介绍

QtDesigner是Qt自带的对ui界面进行设计的一个工具,点击项目自动生成的ui文件就可以进入,QtDesigner包含以下主要几个区域

  • 中央编辑区:所见即所设计,通过拖拽左侧控件实现可视化设计
  • 左侧控件区:里面有各种各样的控件,基本包含了一个可视化应用所需要的基础控件,当然也可以引入第三方公司开发的其他控件,控件就是构成整个可视化界面的组成元素
  • 右侧层级区:可以清晰显示控件间的层级关系,也可以帮助我们快速锁定到需要操作的控件
  • 右侧属性设置区:在这里可以设置对应控件的所有属性,比如控件上的字体,文体,大小,颜色等等

点击左下角的小锤子,也就是构建按钮后,QtDesigner会把目前的界面设计也就是ui文件转译成XML文件,如图
这个XML文件会被QtCreator转译对应的C++代码,在窗体类的构造函数中通过setupui函数去生成
整个过程其实就是把QtDesigner的一些操作直接生成了代码,大大节省了我们纯C++开发GUI界面的时间和精力,如图

这样,通过QtDesigner可以把所有需要的界面直接生成,然后在后台编写逻辑,这就是常说的QML与C++交互开发

访问和操作控件
构建完成后,我们便可以在后台操作控件,更改其设置,如图

//清除AID,BID,CompanyID,SupermarketID的子项
ui->AID->clear(); 
ui->BID->clear();
ui->CompanyID->clear();
ui->SupermarketID->clear();
//遍历添加子项
for(int i=1;i<=CompanySum;i++)

    ui->AID->addItem(QString::number(i));
    ui->BID->addItem(QString::number(i));
    ui->CompanyID->addItem(QString::number(i));

for(int i=1;i<=SupermarketSum;i++)

    ui->SupermarketID->addItem(QString::number(i));

效果如图

四.Qt信号和槽

现在存在的需求就是,已经设计好了界面,如何实现基本操作,比如点击设置按钮就可以设置应用内部信息。这就引入了Qt的信号和槽概念,每一个控件在Qt里面都是一个对象,每一个对象都有信号和槽,当这个控件内部的属性被改变之后,会广播出一个信号,与之绑定的槽接收到信号后就会执行相应的操作
connect函数
connect顾名思义,就是实现信号和槽连接绑定的函数,在Qt的帮助文档里面可以看到connect的详细解释

connect demo:实现button被点击后调用test函数

connect的五个参数

  1. 发出信号的对象
  2. 发出的信号信息,用SIGNAL标识
  3. 接收信号的对象
  4. 接收信号后调用的槽函数,用SLOT标识
  5. 配置信息

同时,QtDesigner提供较为简单的绑定方式,在QtDesigner界面菜单栏编辑选项选择编辑信号和槽

在槽界面添加对应的函数进行绑定,如图蓝色部分是已经绑定好的函数

槽函数的设置
①需要在头文件里面使用slots声明槽函数

②在源文件中实现对应函数

至此,你已经完成了Qt快速入门,可以进行开发实战,在开发中摸索学习即可~

qt应用程序开发框架-快速入门篇(代码片段)

...是一个1991年由QtCompany开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对... 查看详情

springboot2.x:入门篇(代码片段)

...框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架遵循”约定优于配置“的思想,清除了原先使用Spring框架的那些样板化的配置,继承了原有Spring框架的优秀基因,从而帮助开发者快速开发应用。SpringBoo... 查看详情

qt入门系列开发教程基础控件篇qmainwindow主窗口(代码片段)

...件创建工具栏创建Dock小部件状态栏API描述主窗口为构建应用程序的用户界面提供了一个框架。Qt有QMainWindow及其相关的主窗口管理类。QMainWindow有自己的布局,您可以在其中添加QToolBars、QDockWidgets、QMenuBar和QStatusBar。布局有一... 查看详情

golang入门教程beego快速开发http框架(代码片段)

  beego是一个快速开发Go应用的HTTP框架,他可以用来快速开发API、Web及后端服务等各种应用,是一个RESTful的框架,主要设计灵感来源于tornado、sinatra和flask这三个框架,但是结合了Go本身的一些特性(interface、struct嵌入等)而设... 查看详情

qt入门系列开发教程stl篇qmultihash多值散列表(代码片段)

...:鱼酱2333😈「本文录入专栏」:Qt入门系列开发教程😈「本文内容」:QMultiHash多值散列表使用方法文章目录1.应用场景2.QMultiHash简介3.ExampleQMultiHash添加QMultiHash遍历与查找QMult 查看详情

qt快速入门学习笔记(基础篇)

...考书为基于该系列教程《QtCreator快速入门》和《Qt及QtQuick开发实战精解》1、关联Qt库。如果是分别安装的QtCreator和Qt库,而不是安装集成QtCreator和Qt库的 查看详情

qt高级——qmake快速入门(代码片段)

...器书写Makefile的工具。qmake是一个用来简化在不同平台间开发工程的构建过程的工具。qmake会自动生成MakeFile文件,可以用于任何软件项目中,无论是否由Qt编写。qmake会注意所有的编译器和平台的依赖性,开发者只需关注自己的代... 查看详情

pandas高级数据分析快速入门之二——基础篇(代码片段)

Pandas高级数据分析快速入门之一——Python开发环境篇Pandas高级数据分析快速入门之二——基础篇Pandas高级数据分析快速入门之三——统计分析篇Pandas高级数据分析快速入门之四——表内、表间数据处理篇Pandas高级数据分析快速入... 查看详情

网络开发的最强大框架:netty快速入门(代码片段)

...步的,基于事件驱动的网络应用框架,用于快速开发可维护、高性能的网络服务器和客户端。Netty的应用十分广泛,可以说主流的框架中,如果有网络方面的需求, 查看详情

网络开发的最强大框架:netty快速入门(代码片段)

...步的,基于事件驱动的网络应用框架,用于快速开发可维护、高性能的网络服务器和客户端。Netty的应用十分广泛,可以说主流的框架中,如果有网络方面的需求, 查看详情

快速入门.netnanoframework开发esp32-pico应用(代码片段)

...本的入门程序并介绍了微雪的ESP32-S2-Pico使用.NETnanoFramework开发过程的基础知识。1.背景1.1.NETIOT与.NETnanoFramework.NET支持物联网(IoT)应用的开发,其提供的.NETIoT库可以让我们在运行Windwos和Linux系统的Io 查看详情

pandas高级数据分析快速入门之四——数据可视化篇(代码片段)

Pandas高级数据分析快速入门之一——Python开发环境篇Pandas高级数据分析快速入门之二——基础篇Pandas高级数据分析快速入门之三——数据挖掘与统计分析篇Pandas高级数据分析快速入门之四——数据可视化篇Pandas高级数据分析快速... 查看详情

qtcreator快速入门教程读书笔记

一Qt简介Qt是一个跨平台的C++应用程序框架,支持Windows、Linux、MacOSX、Android、iOS、WindowsPhone、嵌入式系统等。也就是说,Qt可以同时支持桌面应用程序开发、嵌入式开发和移动开发,覆盖了现有的所有主流平台。你只需要编写一... 查看详情

pandas高级数据分析快速入门之五——机器学习特征工程篇(代码片段)

Pandas高级数据分析快速入门之一——Python开发环境篇Pandas高级数据分析快速入门之二——基础篇Pandas高级数据分析快速入门之三——数据挖掘与统计分析篇Pandas高级数据分析快速入门之四——数据可视化篇Pandas高级数据分析快速... 查看详情

pandas高级数据分析快速入门之五——机器学习特征工程篇(代码片段)

Pandas高级数据分析快速入门之一——Python开发环境篇Pandas高级数据分析快速入门之二——基础篇Pandas高级数据分析快速入门之三——数据挖掘与统计分析篇Pandas高级数据分析快速入门之四——数据可视化篇Pandas高级数据分析快速... 查看详情

[cordova之入门篇](代码片段)

1.cordova是什么ApacheCordova是一个开源的移动开发框架。允许你用标准的web技术-HTML5,CSS3和JavaScript做跨平台开发。 2.为什么用cordova基于webView将网页嵌入到原生应用中以实现跨平台。不必在多个平台上分别进行原生应用的开发,... 查看详情

pandas高级数据分析快速入门之六——机器学习预测分析篇(代码片段)

Pandas高级数据分析快速入门之一——Python开发环境篇Pandas高级数据分析快速入门之二——基础篇Pandas高级数据分析快速入门之三——数据挖掘与统计分析篇Pandas高级数据分析快速入门之四——数据可视化篇Pandas高级数据分析快速... 查看详情

15天快速入门安卓开发基础知识介绍(代码片段)

文章目录二基本知识介绍2.1安卓版本介绍2.2技术架构2.3应用程序框架(9部分)2.4目录结构了解2.5日志工具的使用二基本知识介绍安卓官网:https://developer.android.google.cn/2.1安卓版本介绍2.2技术架构2.3应用程序框架(... 查看详情