Qt基础编程

您所在的位置:网站首页 qt怎么创建c项目 Qt基础编程

Qt基础编程

2024-07-04 22:31:53| 来源: 网络整理| 查看: 265

什么是Qt

Qt就是c++的一种跨操作系统平台的可视化开发工具

创建项目 application是什么

application应用程序

 可以创建的应用程序类型

基类的选择

QMainWindow基类创建的窗口

QWidget基类创建的窗口

 对话框基类窗口

 如何自动创建UI文件

什么是ui文件

用户界面文件  user interface

在中国文件里进行图形设置编程。

在生成的窗口中生成一个ui指针,这个是做什么的

 explicit关键字的作用

抑制了隐式转换,也就是不能使用“=”给类赋值,在这里就是为了防止对基类的初始化发送在派生类的构造函数内部,explicit关键字就要求派生类对基类的初始化必须在初始化列表中进行。

看它的类型,不就是本界面的一个指针对象吗

在main文件中创建一个mainwindow界面,mainwindow中有一个mainwindow的指针,然后再通过ui对象的setupUi函数把当前对象赋给ui指针,这样,就可以通过ui指针使用当前对象的属性进行设置了。

QT creator编译和调试工具

qt中的类模块

比如gui模块,sql数据库模块

文件关联 使用到特定的模块的时候怎么将指定的模块加入到本项目中 项目文件.pro

 加入类模块  图形化界面文件.ui .ui文件中设计的ui界面是怎么和其他文件建立连接关系的----ui_X.h文件

刚建立项目时没有这个文件,编译运行之后会自动生成,才可以打开

这里的X和窗口文件的文件名相同,这里是widget

 

这个文件在编译之后会生成GUI图形界面对应的代码

 Ui::Widget

widget.h中的Ui::widget只有声明

ui_widget.h中的Ui::widget完成定义

有些资料会说这两个不同文件里的ui::widget是两个不同的类,但是实际上是同一个类,只是在widget中先声明使用,在ui_widget.h中进行定义而已,如果不是这样,那第一个Ui::widget没有定义,怎么给定义的ui指针分配内存呢 

利用完成定义的Ui::widget给ui创建对象

ui控制着两部分内容

1,通过图形化界面转换的ui_widget.h中的代码;

2,通过setupUi()传递本窗口对象,让ui实现对这个对象的控制。 

信号和槽 什么是信号和槽

connect(发送对象,信号,接收对象,槽函数),Qt4版本中发送信号和槽函数需要用 SIGNAL() 和 SLOT() 来进行声明。

本质是什么

发送对象

就是发送信号的对象,比如按钮。

信号

就是特定的对象发送的事件,比如按钮发送的clicked(),本质上是一个函数。

接收对象

就是接受信号,并执行相应槽函数的对象,比如窗口。

槽函数

 信号和槽的规则

信号连接信号的时候,作为槽函数位置的信号会被触发

 

如果receiver是this表示什么

表示接受信号的对象是本窗口组件。

如果省略receiver表示什么 connect(ui->pushButton_todayPrice,&QPushButton::clicked,[=](){ ui->stackedWidget->setCurrentIndex(0); });

 利用lambda表达式实现槽函数

不需要接收对象,直接执行槽函数

QT4的信号和槽的连接的优缺点

1,可以直接传递函数以及参数,不用函数指针。

 

 2,缺点:编译阶段不会进行参数类型检查,运行阶段才会检测出来报错。

 

 

ui文件怎么设置信号和槽 1,直接连接

2,转到槽函数

右键转到槽

比如将PushButton转到槽函数,就是选择这个按钮作为发射信号的对象,选择好信号的类型之后就会为中国信号建立一个槽函数。

在UI界面进行的信号和槽的建立不需要自己去连接信号和槽。

自定义信号和槽 信号

槽函数

各种信号的功能和区别 信号翻译功能使用对象clicked()点击按钮clicked(bool)triggered()触发菜单项,工具栏,快捷键triggered(bool) 信号有bool和没有bool参数的原因和区别

像按钮,菜单项这些组件checkalbe属性默认都是false,所谓的checkable属性就是触发这些对象的时候,会给信号函数传递一个bool类型的值,表示这个对象的状态,默认都是false,也就是默认组件的状态不可以改变,如果要改变,可以通过setCheckable(true)成员函数改变,改变之后,这个组件传递的状态就会一次true,一次false.

QT怎么打印输出字符串

qt中不能使用cout,要用qDebug()函数

注意:

1,qDebug输出完所有数据之后会自动换行

2,qDebug()每一个“



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭