目录
一、学习的知识点
1)显示图片
logo=new QLabel(this);
logo->setPixmap(QPixmap("image/video.jpg").scaled(100,100));
image/video.jpg是图片在当前工程目录下的路径。当图片显示太小时,可能是被标签的边框限制可以通过改变标签的大小解决。
logo->resize(200,200);
logo->setPixmap(QPixmap("image/video.jpg").scaled(logo->size()));
2)提示框
弹出提示框,参数二表示提示框的名称,参数三表示内容,参数四表示按钮的内容。
#include<QMessageBox>
QMessageBox::information(this,"pop","account and passworld is not match","return");
3)qss样式表(涉及QFile)
- 使用函数直接配置:this->setStyleSheet(“background-color:gray”); 配置背景颜色为灰色
- qss配置
通过setObjectName设置this的ObjectName:this->setObjectName(“playwidget”)
4)信号和槽
信号和槽机制是QT的核心机制,要精通QT编程就必须对信号和槽有所了解。信号和槽是一种高级接口,应用于对象之间的通信,它是QT的核心特性,也是QT区别于其它工具包的重要地方。
4.1信号
信号的声明是在头文件中进行的,QT的signals关键字指出进入了信号声明区,随后即可声明自己的信号。信号的返回类型都是void.
4.2槽
槽的声明也是在头文件中进行的。槽是普通的C++成员函数,可以被正常调用,它们唯一的特殊性就是很多信号可以与其相关联。当与其关联的信号被发射时,这个槽就会被调用。
槽被声明在slots下,有以下三种类型:public slots、private slots和protected slots。
4.3QObject::connect
通过调用QObject对象的connect函数来将某个对象的信号与另外一个对象的槽函数相关联,这样当发射者发射信号时,接收者的槽函数将被调用。该函数的定义如下:
bool QObject::connect ( const QObject * sender, const char * signal, const QObject * receiver, const char * member ) [static]
参数一为发送者,参数二为信号的触发动作,参数三为接受者,参数四为接收者的处理动作。例:
connect(m_BtnLogin,SIGNAL(clicked(bool)),this,SLOT(loginslot()));
5)定时器
//头文件
#include <QTimer>
QTimer *m_time;//数据成员
//源文件
m_time = new QTimer(this);
connect(this->m_time,SIGNAL(timeout()),this,SLOT(movepicture()));
m_time->start(20); //20ms后timeout输出1
二、上课没有听懂或者没有理解的地方
文件分类的步骤有点多,需要看录屏多熟悉
三、当天学习的收获
学习了信号和槽,利用它可以实现相应的动作。