QT学习笔记

1.信号与槽

connect()函数,谁发出信号,发出什么信号,谁处理信号,怎么处理

信号只声明,没有定义,用signals声明,用emit触发信号

QWidget::connect(n,&note::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类的虚函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值