QT的使用

qtcreator安装的文件路径以及自己编写的qt项目文件路径(包括项目名称)不要出现空格和中文

驾校系统-新建项目

qt有两种方式创建界面,一种是设计模式,一种是自己敲代码

如果要选择设计模式,需要勾选创建界面

.pro是工程文件,如果要打开某个项目,直接打开工程文件就可以

下面这句代码意思是,该项目qt支持核心的图形用户界面的扩展库

 下面这句代码意思是,该qt项目支持组件编程的扩展库

 当前qt版本超过4

 描述的是项目的名字,如果后续要修改项目名称,可以在这里修改

 定义了一个宏,表示如果使用了一些过时的api,编译器会发出警告信息

按住ctrl点击类名可以查看类的定义 ,如果提示错误信息,则需要线编译,再按住ctrl点击

这个宏表示当前的类支持信号与槽的一个机制

 必须是继承QObject类的类才支持信号与槽的机制

信号与槽的机制是用于不同对象的通信

 exec()方法使应用程序对象进入消息循环

点击.ui文件就可以进入设计模式

实现登录界面

拖两个label(标签),起名"账号""密码"

拖两个Line Edit(输入框)

拖两个PushButton(按钮)起名"登陆""取消"

调整宽度和高度,让登陆和取消的宽度高度相同

 同样调整两个LineEdit使之相同

添加图片文件

 

 

 

 选择图片,添加,ctrl+s保存一下

 拖入label,覆盖全部背景

图片遮住了之前的控件怎么办

图片的lable标签撤销,把名字修改为第一个添加的标签名字,再把第一个放入的标签重复插入图片的步骤 

撤销按钮

调整几何属性(图片,窗体,标签的宽高设为一致) 

设置图片标签的对象名

 账号后面的LineEdit的标签

密码后面的LineEdit的标签

 

 登录按钮

 取消按钮

图片的内容进行填充

用标签的宽和高设置当前窗体的宽和高

 图片标签的x,y设为0

 设置窗口标题,设置包含窗口关闭按钮 的普通对话框风格

 验证邮箱地址

准备一个数据文件

 

 选择信号

把鼠标放在槽方法上,点击f2,可以切换定义和声明

 测试一下

添加一个头文件

information方法:第一个参数:指定一个副窗口(此处指定当前登录窗口为副窗口) ,第二个参数指定提示的标题,第三个参数,需要提示的内容

 筛选用户输入的账号是不是邮箱地址

    QRegExp是正则表达式类

 

验证账号密码

 

 

 

隐藏密码

 固定窗口大小(不能伸缩拉长)

考试时间 

添加新文件

 

添加头文件

从QObject基类继承来的字类想要 使用信号与槽机制,需要定义宏

 

 

 

布局题库1

准备一个数据文件

 

 

 

 

 

 

元对象系统

 信号与槽连接(松耦合)

案例:点击武汉输出"武汉加油" 点击中国输出"中国加油",点击世界输出"世界加油"

 声明一个信号

信号只能声明不能实现

 生成三个点击按钮并修改名字

 生成三个点击按钮对应的槽方法

 

 

 再声明一个槽方法

 信号的参数列表和槽的参数列表一一对应,信号的参数个数大于等于槽的参数个数

 

 在构造函数里连接信号与槽

 连接信号与槽的另一种方式

 信号与槽连接(一对多)

新增一个槽方法

 一对多

 信号与槽连接(多对一)

新添加一个信号,此信号没有参数,根据规则,槽方法也不应该有参数

 多对一

 案例:一个信号的触发会导致另一个信号的出发

 

 信号与槽连接(断开连接)

 

 

 

 

 断开目标对象的所有信号

disconnect(this,0,0,0);

断开具体指定的连接

接收想要断开的连接的返回值

动态属性上

 

 

 

 

 

 

动态属性下(需要重看)

 对象树上

 

 

 

 

 

 

 

 

 

  

 父类销毁的时候,会挨个销毁它的子类

对象树下

部件基类-QWidget-窗口风格

widget构造函数有两个参数

 第一个参数,给的默认值是0,表示没有父窗口,第二个参数是qt的窗体风格,默认值是0

具体的不同的风格的特点,自行查阅

 

 这句话表示当前项目支持部件编程,支持部件编程所需要的的一些扩展库

 ctrl+s保存一下

 

 第二个参数表示对话框风格的无边框的窗体

 无边框的窗体没有关闭按钮怎么办

 设置窗体状态

以最大化的方式进行显示 

 部件基类-QWidget-窗口尺寸

 1.传一个QSize引用

 

 600指宽,200指高

2.直接传入宽和高

 确定位置

1.传入一个Qpoint引用的坐标值,2.直接传坐标值

 

 返回当前位置

 获取宽和高

获取几何信息

  部件基类-QWidget-尺寸策略

窗体的模态属性 

 

 NonModal:非模态,不阻塞其它窗体的输入

此时每个窗体都能正常点击不会阻塞

 WindowModal:阻塞父类窗口,所有祖先类窗口,所有兄弟窗口 

 ApplicationModal:阻塞应用程序所有窗口的输入

此时不能点击w3

等w2窗体关闭之后就可以处理别的窗体

 enable

 默认是勾选的状态,不勾选的话,当前部件(包括它的子部件)禁用

尺寸策略

如何让这三个按钮垂直布局

 选中所有部件后点击这个按钮

 点击红色的线,进入布局页面

 在布局管理器里就可以随意拉伸

尺寸策略也就是拉伸的策略 

 横向拉伸可以拉到的最小值是Minimum,此处是0,最大可以无限大

垂直策略是固定,表示垂直方向拉伸的时候高固定不变

 当sizepolicy设置为Maximum时,部件不能拉伸只能压缩,范围是minimumsize-默认大小

 preferred:可以拉伸也可以缩小

expanding:当该部件选中expanding,其他部件选中minimum,在空间有限时,该控件会优先占用空间

 minimumexpanding:同样是拉伸的时候优先占用空间,缩小的最小值是minimumsize

 ignored:在mininumsize之上可以任意拉伸缩小

水平伸展垂直伸展,挑战每个部件伸展的比例

部件基类-QDialog

 设置中心部件

 这里可以设置菜单栏

 

 

 

 对话框类

 

默认情况下是非模态的

设置为模态

 此时只能操作w1

当w1关闭之后,w2,w3就能被激活了

对话框类特有的方式设置模态窗口

 

进入本地的实验循环并且阻塞别的窗口的输入

 

在开发应用程序的时候如何添加对话框模板或部件模板

 

 

 

 

 

 

 

让窗体以模态的方式运行

点击ok,res返回结果是1,点击cancel是0 

 模态返回值

常用小部件-QLabel

 

 拖四个标签

 

 

 

 

 

 项目中加入两个图片

 

 

 把这里删掉

 如何让文字换行

 勾选

 

如何设置快捷键

拖两个标签,一个按钮一个单选按钮

 如果标签内文本是以中文开头,在后面的小括号里用&+快捷键字母,最终的效果是快捷键组合

alt+指定字母

如果标签内文本是以英文开头,&紧跟着的第一个字母就是快捷键

用这个来连接

 

 常用小部件-按钮

通过文件的方式实现图标按钮

把图片文件提前放在项目里

打开图片文件

 根据图片的像素调整这里的宽度和高度

 查看图片的属性

 调整

 实现结果

 通过资源的方式实现图标按钮

 

  

 修改前缀

 

 

 ctrl+s保存

设置按钮选中的状态

 

 

 点击按钮后悔输出true

 再点击一次会输出false

勾选flat,可以使按钮失去边框

 分组框

 拖三个单选按钮

 一般是先放分组部件再其他元素

单选按钮如何相应选中与未选中

 

 

此时点击男的时候,输出true,再点击女或未知,输出false

对"男"标签修改名字

 初始化该标签的点击状态

 此时运行,一开始就默认是选中状态

判断是否选中

给女标签设置名字

 

 需要修改槽函数名

 修改为

 把这个

 修改为

 常用小部件-QLineEdit

 

 可留空的意思是可以什么也不输入,只留一个空格

 使所有输入的英文字母都转化为大写

输入掩码:对用户的输入进行一些限制

 

 

 最多输入5个字母,无论输入什么都会转换成大写

点击回车,输出用户的输入以及界面的显示

 

 

 

 

 echoMode

 normal:正常显示

noecho:不显示

password:以黑点的方式显示

passwordechoonedit用户编辑的时候正常显示,编辑完后以黑点的方式显示

勾选的话就不能编辑了 

布局管理器-设计模式实现

 

 案例:实现以下布局

 给姓名,年龄,邮箱设置伙伴关系

 

 点击这里回到编辑部件的模式

 

 设置为水平布局

对这几行做一个垂直布局

全部选中后点击垂直布局‘’ ctrl+z是撤销上一个操作

注意要选择这一整行的布局管理器,而不是选择其中某一个部件

 

 选中外面的红线(垂直管理器),点击这里可以打破布局

 

 全部选中之后再点击一次打破布局就可以彻底打破

布局管理器-代码运用

 

 用代码的方式实现上面的布局

 QLable构造函数,第一种构造方式两个参数:一个是传入父指针,一个是指定窗体风格

第二个构造方式的第一个参数传入一个常量的字符串的引用

 

 

 

 

 对性别,男单选按钮,女单选按钮这一行先进行水平布局,再和上面的表单进行垂直布局

 

 把原先这行代码的参数去掉‘’

 

 

 

 

 

 QString隐式共享

 

这段代码表示不支持界面扩展库 

shift+f5结束断点调试

 QString常用转换

 删除所有断点

按f10进入调试模式,

 

 

另外几种构造的方式

 类型转换

 

 另一个方法

AAAAAElFTkSuQmCC

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值