1.信号与槽
connect()函数,谁发出信号,发出什么信号,谁处理信号,怎么处理
信号只声明,没有定义,用signals声明,用emit触发信号
QWidget::connect(n,¬e::bk,w,&Widget::comeback);
格式:connect(发出信号的对象的指针,&类名::信号函数名,接收信号对象的指针,&类名::槽函数名)
槽函数用关键字slots,前面可以加public或者private
2.QT文件操作
包含头文件#include <QFile>,#include <QTextStream>
写入操作如下:
QFile f("D:\\qt_project\\text24611\\recond.txt");//创建QFile对象
bool isok=f.open(QFile::WriteOnly|QIODevice::Truncate);//打开是读取还是写入并指名是追加还是覆盖
if(!isok)qDebug()<<"open fail!\n";
else qDebug()<<"open success!\n";
QTextStream in(&f);
in<<contentstr;//写入
f.flush();
f.close();
QIODevice::Truncate代表覆盖写入,如果是追加写入可替换成QIODevice::Append
QFile file("文件路径");
file.open(QIODevice::WriteOnly);
QByteArray arr;
arr.append(Qstr);
file.write(arr);
file.close();
读取文件操作:
QFile f("D:\\qt_project\\text24611\\recond.txt");//创建QFile对象
bool isok=f.open(QFile::ReadOnly);//打开是读取还是写入并指名是追加还是覆盖
if(!isok)qDebug()<<"open fail!\n";
else qDebug()<<"open success!\n";
QTextStream out(&f);
while(!out,atEnd())
{
vec.push_back(out.readLine());
}
f.flush();
f.close();
QFile file("文件路径");
file.open(QIODevice::ReadOnly);
QByteArray arr=file.readAll();
QString ss(arr);
file.close();
3.QT时间戳
QDateTime currentTime = QDateTime::currentDateTime();
int64_t timestamp = currentTime.toMSecsSinceEpoch();//返回毫秒级时间戳
QDateTime time = QDateTime::fromMSecsSinceEpoch(timestamp);
QString str = time.toString("yyyy-MM-dd HH:mm:ss:zzz");
qDebug()<<str;
4.QT定时器
startTimer()
继承于QObject类,参数传一个毫秒数,返回定时器的id,通过重写虚函数timerEvent(QTimerEvent* event)来触发定时器的事件,这个函数会在时间到了时候自动调用,可通过event->timerId()来获取触发定时器的id
killTimer()
通过this->killTimer(timerid);停止指定的定时器
5.定时器只执行一次的方法
QTimer::singleShot(时间毫秒,对象指针谁来执行,SLOT(槽函数名));
6.定时器的第二种实现方法
包含头文件#include <QTimer>
QTimer *timer=new QTimer;
timer->start(设定的时间毫秒);
时间到的时候定时器发出信号,转到槽函数处理
注意:槽函数要写在构造函数里面
connect(timer,&QTimer::timeout,this,&Widget::slot);
timer->stop();结束计时
7.显示图片的代码
第一种:
QPixmap pix("图片路径");
ui->label->setPixmap(pix);
第二种:
QImage img;
img.load("图片路径");
ui->label->setPixmap(QPixmap::fromimage(img));
8.QString
静态函数QString::number(数字);将数字转化成字符串
9.QMessagebox
QMessageBox::warning(this,"警告","请选择一个文件");
10.QFileDialog
获取文件的路径
QStirng filename=QFileDialog::getOpenFileName(this,
"选择一个文件",QCoreAplication::aplicationFilePath(),"*.cpp");
QStirng filename=QFileDialog::getSaveFileName(this,
"选择一个文件",QCoreAplication::aplicationFilePath());
//获取需要保存文件的地址
11.qt事件
如:鼠标事件,键盘事件,只需重写继承于QObject类的虚函数