Qt工作笔记-html做界面时,QFileInfo小技巧,获取前端页面

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq78442761/article/details/88785633

目录

 

 

背景

演示及代码

总结


 

背景

有的时候要调用三方的库,能够比较简单的实现一些酷炫的效果。这里特别是前端的酷炫效果!

如果在Qt中,某个地方,能小范围使用前端Qt的效果,辣么,将会是一个多么有意思的事情!

这里提一下QFileInfo的小技巧,QWebView如何巧妙的加载它!

演示及代码

程序运行截图如下:

输出结果如下:

程序结构如下:

源码如下:

QFileInfoDemo.pro

QT       += core gui webkitwidgets

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = QFileInfoDemo
TEMPLATE = app


SOURCES += main.cpp

HEADERS  +=

FORMS    +=

RESOURCES += \
    resources.qrc

main.cpp

#include <QApplication>
#include <QDebug>
#include <QFileInfo>
#include <QString>
#include <QDir>
#include <QFile>
#include <QWebView>
#include <QUrl>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QDir dir(qApp->applicationDirPath() + "/web interface");
    dir.setFilter(QDir::Files | QDir::Hidden | QDir::NoSymLinks);
    dir.setSorting(QDir::Time);

    QFileInfoList list = dir.entryInfoList();

    foreach(QFileInfo str, list){

        qDebug() << str.absoluteFilePath();
    }

    QWebView view;
    view.load(QUrl::fromLocalFile(list[0].absoluteFilePath()));
    view.show();

    qDebug() << QString::fromLocal8Bit("-------------------华丽的分割线-------------------");

    //如果是内部资源文件
    QFileInfo innerFile("qrc:/rec/hehe.html");
    qDebug() << innerFile.absoluteFilePath();
    qDebug() << innerFile.filePath();

    QWebView view2;
    view2.load(QUrl(innerFile.filePath()));
    view2.show();

    return a.exec();
}

hehe.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>test</title>
</head>

<body>
<img src="https://picsum.photos/800/600/?random" alt="" class="ui rounded image">
</body>

</html>

总结

从上面可以知道,load中有2种方式,一种是提供url,一种是提供文件路径,提供文件路径要使用QFile::fromLocalFile,这里可以使用QDir中的entryInfoList获取所有文件;

猜你喜欢

转载自blog.csdn.net/qq78442761/article/details/88785633