Qt(知识要点1)

一、自定义信号和槽
1、信号和槽必须定义在类中
2、自定义信号和槽类必须继承QObject
3、在类的开头写上 Q_OBJECT 没有分号,此标识必须写在项目构建之前,如果是后加上的,必须重新构建项目。
4、信号定义signals: 关键字下面。
5、通过emit 发送信号。
6、一个信号可以连接多个槽,当该信号发射会触发多个槽函数。
7、多个信号可同时连接一个槽,只要有一个信号发射就会地触发槽函数。
二、界面布局
1、在设计界面一般不建议直接设计窗口或控件的大小(像素点数),除非容器固定大小,否界面改变大小时布局会乱(丑)。
2、如果不固定窗口的大小一般使用自动布局,前提是在窗口添加一个布局器,然后设置窗口为自动布局(在窗口的空白位置右击->布局->水平、垂直、栅格)。
3、在窗口内部相让某些控件自动排列,可以选择使用布局器
水平布局:QHBoxLayout
垂直布局:QVBoxLayout
栅格布局:QGridlayout
布局器中的控制会根据布局器的大小自动排列控件,自动设置控件的大小。
4、设置窗口自动布局控制会随机窗口的大小而变化,可以使用"弹簧"来约束控件的位置。

三、项目资源
1、项目的资源一般指的是项目中使用到的图标、图片、音频、视频等。
2、使用图片文件有两种方式:
1、使用QPainter和QImage类读取资源文件,然后绘制在窗口或控件上。
2、创建Qt资源文件,统一管理图片等资源文件。
3、在窗口或控件上绘制图片:
1、由于QPainter只能工作在paintEvent函数中,因此必须覆盖此函数。
2、QImage控制图片文件的路径即可,创建QImage对象。
3、QPainter创建时需要提供在窗口的地址。
4、QPainter对象调用drawImage成员函数绘制图片。
5、paintEvent会被update自动调用。
注意:不建议使用此方向显示图片,更多的是进行绘制图形。
4、Qt资源文件
1、选中项目右击->添加新文件->Qt->Qt资源文件->填写资源文件名。
2、双击打开创建好的资源文件->添加->添加前缀->添加文件->选择要添加文件。
3、可心在设计师中使用资源文件,选择控件右击->改变样式表->添加资源->image。
4、也可以在代码中调用setStyleSheet函数,为控件设计样式。
5、设置控制样式表的技巧
1、在为窗口设置样式表后,窗口中的控件也会继承这个样式,我的解决方法是为控件也设置样式表,覆盖窗口的样式表。
QWidget
{
background-color: rgb(255, 255, 255);
}

QPushButton
{
background-color: rgb(255, 245, 66);
// 设置按钮的边框
border: 1px solid rgb(124, 124, 124);
// 设置按钮的圆角弧度
border-radius:5px;
}
2、设置控件的悬停样式
QPushButton:hover
{
background-color: qconicalgradient(cx:0.5, cy:0.522909, angle:179.9, stop:0.494318 rgba(181, 225, 250, 255), stop:0.5 rgba(222, 242, 251, 255));
border-radius:5px;
border: 1px solid #3C80B1;
}
3、设置控件按下时的效果
QPushButton:pressed
{
background-color: qconicalgradient(cx:0.5, cy:0.522909, angle:179.9, stop:0.494318 rgba(134, 198, 233, 255), stop:0.5 rgba(206, 234, 248, 255));
border-radius:5px;
border: 1px solid #5F92B2;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值