当前位置: 首页 > news >正文

ps做网页怎么在网站上打开企业营销网站制作

ps做网页怎么在网站上打开,企业营销网站制作,电销系统哪个好,做游戏人设计网站QWebEnginePage 是 Qt WebEngine 模块中的一个类,它提供了用于处理网页内容的接口。如果你想要打印 QWebEnginePage 中的内容,你可以使用 QPrinter 和 QPrintDialog 类来实现。 项目配置了 Qt WebEngine 模块,并且在你的.pro文件中包含了相应…

QWebEnginePage 是 Qt WebEngine 模块中的一个类,它提供了用于处理网页内容的接口。如果你想要打印 QWebEnginePage 中的内容,你可以使用 QPrinterQPrintDialog 类来实现。

项目配置了 Qt WebEngine 模块,并且在你的.pro文件中包含了相应的配置:

QT += webenginewidgets

实现代码如下,参考

printme « webenginewidgets « examples - qt/qtwebengine.git - Qt WebEngine

main.cpp

#include "printhandler.h"
#include <QApplication>
#include <QShortcut>
#include <QWebEngineView>int main(int argc, char *argv[])
{QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);QApplication app(argc, argv);view.setUrl(QUrl(QStringLiteral("qrc:/index.html")));view.resize(1024, 750);view.show();PrintHandler handler;handler.setPage(view.page());auto printPreviewShortCut = new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_P), &view);auto printShortCut = new QShortcut(QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_P), &view);QObject::connect(printPreviewShortCut, &QShortcut::activated, &handler, &PrintHandler::printPreview);QObject::connect(printShortCut, &QShortcut::activated, &handler, &PrintHandler::print);return app.exec();
}

printhandler.h

#ifndef PRINTHANDLER_H
#define PRINTHANDLER_H
#include <qapplication.h>
#include <QObject>
#include <QWebEngineView>
#include <QPrinter>
#include <QPrintPreviewDialog>
#include <QEventLoop>
#include <QPrintDialog>
#include <QWidget>
#include <QMainWindow>
#include <QPrinterInfo>
#include "CustomWebEnginePage.h"
#include <qapplication.h>
#include <qtimer.h>
class PrintHandler : public QObject
{Q_OBJECT
public:explicit PrintHandler(QString printName, QObject *parent = nullptr);signals:public slots:public:void setPrintUrl(const QString&  url);void setPrintName(const QString& name);void printPreview();void printDocument(QPrinter *printer);void print();
private://void print();
private:QString mPrinterName;CustomWebEnginePage* mPage;QString mUrl;bool mInPrintPreview;QTimer* waitTimer;
};#endif // PRINTHANDLER_H

printhandler.cpp

#include "printhandler.h"
#include <QDebug>
PrintHandler::PrintHandler(QString printName,QObject *parent) : mPrinterName(printName),QObject(parent)
{mInPrintPreview=false;mPage = new CustomWebEnginePage();waitTimer = new QTimer();waitTimer->setInterval(500);waitTimer->setSingleShot(true);connect(waitTimer, &QTimer::timeout, this, &PrintHandler::print);connect(mPage, &CustomWebEnginePage::loadFinished, waitTimer, static_cast<void(QTimer::*)()>(&QTimer::start));}void PrintHandler::setPrintUrl(const QString& url)
{mUrl = url;mPage->setUrl(url);
}void PrintHandler::printPreview()
{if (!mPage)return;if (mInPrintPreview)return;mInPrintPreview = true;QPrinter printer;QPrintPreviewDialog preview(&printer, mPage->view());connect(&preview, &QPrintPreviewDialog::paintRequested,this, &PrintHandler::printDocument);preview.exec();mInPrintPreview = false;
}void PrintHandler::printDocument(QPrinter *printer)
{QEventLoop loop;bool result;auto printPreview = [&](bool success) { result = success; loop.quit(); };mPage->print(printer, std::move(printPreview));loop.exec();if (!result) {QPainter painter;if (painter.begin(printer)) {QFont font = painter.font();font.setPixelSize(15);painter.setFont(font);painter.drawText(QPointF(10,25),QStringLiteral("Could not generate print preview."));painter.end();}}
}
void PrintHandler::setPrintName(const QString& name)
{mPrinterName = name;
}void PrintHandler::print()
{QStringList printerNameList=QPrinterInfo::availablePrinterNames();foreach (QString printerStr, printerNameList){if(printerStr== mPrinterName){QPrinter printer(QPrinter::HighResolution);printer.setOutputFormat(QPrinter::NativeFormat);printer.setPrinterName(printerStr);//打印界面/* QPrintDialog dialog(&printer, mPage->view());if (dialog.exec() != QDialog::Accepted)return;*/printDocument(&printer);return;}}qDebug() << "not find printer";}

对于https的url连接,会出现"你的连接不是专用连接"报警,需要跳过这个报警所以要继承QWebEnginePage做个类

CustomWebEnginePage.h

#pragma once#include <QWebEnginePage>class CustomWebEnginePage : public QWebEnginePage
{Q_OBJECTpublic:CustomWebEnginePage();~CustomWebEnginePage();virtual bool certificateError(const QWebEngineCertificateError &certificateError);
};

CustomWebEnginePage.cpp

#include "CustomWebEnginePage.h"CustomWebEnginePage::CustomWebEnginePage()
{
}CustomWebEnginePage::~CustomWebEnginePage()
{
}bool CustomWebEnginePage::certificateError(const QWebEngineCertificateError &certificateError)
{return true;
}

http://www.tj-hxxt.cn/news/118695.html

相关文章:

  • 推进门户网站建设 用好用活2024年8月爆发新的大流行病毒吗
  • 商品网站策划书桂林seo排名
  • 农村网站建设的意义好的竞价推广外包公司
  • asp网站管理系统app开发者需要更新此app
  • 宁波市建设工程检测协会网站营业推广是什么
  • 中小企业网站用什么技术手机创建网站免费注册
  • 长沙专业网站建设公司哪家好新的seo网站优化排名 网站
  • 校园论坛网站源码推广运营是做什么的
  • 万网怎样做网站调试网站优化 福州
  • 平顶山 网站建设公司品牌营销服务
  • 怎么把现有网站开发php网络优化软件
  • 什么网站可以找人做系统百度主页面
  • 用php做网站视频nba东西部最新排名
  • 网站建设报什么专业重庆关键词快速排名
  • 自己有服务器如何架设网站seo整合营销
  • 模板网站的缺陷东营优化公司
  • 网站排名按天付费百度关键词权重查询
  • 上海专业做网站价格网站设计制作哪家好
  • wap网站一键生成app深圳网站页面设计
  • 工农区网站建设谷歌外贸网站推广
  • eclipse静态网站开发seo综合查询怎么进入网站
  • 做网站有陪标现象吗网络营销的特征
  • 移动网站用什么建设东莞网络推广代运营
  • 深圳品牌设计工作室北京seo顾问服务
  • 网站建设需要精通什么知识怎么去推广一个app
  • 网站建立好了自己怎么做优化广告推广图片
  • 哪里做网站一套一百企业网站搭建
  • 网站怎么建设dw上海seo网站推广公司
  • 化妆品的网站建设在百度上怎么发布信息
  • 凡客网站建站教程免费网站站长查询