QT5.15.2加載pdf為QGraphicsScene的背景

5.15.2使用pdf

必須要安裝QT源碼,可以看到編譯器lib目錄已經有pdf相關的lib文件,d是debug
在這里插入圖片描述
1.找到源碼目錄:D:\soft\QT\5.15.2\Src\qtwebengine\include
在這里插入圖片描述
復制這兩個文件夾到編譯器的包含目錄中:D:\soft\QT\5.15.2\msvc2019_64\include
在這里插入圖片描述
2.找到D:\soft\QT\5.15.2\Src\qtwebengine\src\pdf\api目錄,將目錄下的文件夾全部復制替換到D:\soft\QT\5.15.2\msvc2019_64\include\QtPdf中。
在這里插入圖片描述
3.將D:\soft\QT\5.15.2\Src\qtwebengine\src\pdfwidgets以下文件復制替換到到D:\soft\QT\5.15.2\msvc2019_64\include\QtPdfWidgets中
在這里插入圖片描述
4.修改pro文件,不用加入附加包含目錄,只需要加入附加庫目錄和lib名稱即可

LIBS += -LD:/soft/Qt/5.15.2/msvc2019_64/libCONFIG(debug, debug|release){LIBS += -lQt5PdfdLIBS += -lQt5PdfWidgetsd
}
else
{LIBS += -lQt5PdfLIBS += -lQt5PdfWidgets
}

5.測試

#include <QApplication>
#include <QtPdf/QPdfDocument>
int main(int argc, char *argv[])
{QApplication a(argc, argv);QPdfDocument *doc = new QPdfDocument;doc->load("D:/1.pdf");QSizeF pageSize = doc->pageSize(0);QImage image = doc->render(0,pageSize.toSize());image.save("D:/1.png");return a.exec();
}

加載pdf為QGraphicsScene的背景

#include <QApplication>
#include <QtPdf/QPdfDocument>
#include <QGraphicsScene>
#include <QGraphicsView>
class MyQGraphicsScene:public QGraphicsScene
{
public:MyQGraphicsScene(QObject *parent = nullptr):QGraphicsScene(parent){doc = new QPdfDocument(this);}void drawBackground(QPainter *painter, const QRectF &rect) override{doc->load("D:/1.pdf");QSizeF pageSize = doc->pageSize(0);QImage image = doc->render(0,pageSize.toSize());painter->setPen(Qt::blue);painter->setBrush(image);painter->drawRect(sceneRect());}private:QPdfDocument *doc = nullptr;
};int main(int argc, char *argv[])
{QApplication a(argc, argv);// 創建自定義場景MyQGraphicsScene *scene = new MyQGraphicsScene();scene->setSceneRect(0,0,500,400);// 創建視圖,并設置場景QGraphicsView *view = new QGraphicsView(scene);view->setFixedSize(800,600);view->show();return a.exec();
}

重寫QGraphicsScene的drawBackground方法即可達到目的
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/73699.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/73699.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/73699.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MCP 開放協議

本文翻譯整理自&#xff1a; https://modelcontextprotocol.io/introduction 文章目錄 簡介一、關于 MCP二、為什么選擇MCP&#xff1f;通用架構 三、開始使用1、快速入門2、示例 四、教程五、探索 MCP六、貢獻和支持反饋貢獻支持和反饋 服務器開發者一、構建服務器1、我們將要…

主流區塊鏈

文章目錄 主流鏈1. Solana特點&#xff1a;適用場景&#xff1a;工具鏈&#xff1a; 2. Binance Smart Chain (BSC)特點&#xff1a;適用場景&#xff1a;工具鏈&#xff1a; 3. Avalanche特點&#xff1a;適用場景&#xff1a;工具鏈&#xff1a; 4. Polkadot特點&#xff1a;…

GaussDB備份數據常用命令

1、常用備份命令gs_dump 說明&#xff1a;是一個服務器端工具&#xff0c;可以在線導出數據庫的數據&#xff0c;這些數據包含整個數據庫或數據庫中指定的對象&#xff08;如&#xff1a;模式&#xff0c;表&#xff0c;視圖等&#xff09;&#xff0c;并且支持導出完整一致的數…

ctfshow-萌新賽刷題筆記

1. 給她 啟動靶機&#xff0c;發現是sql注入&#xff0c;嘗試后發現被轉義\&#xff0c;思路到這里就斷了&#xff0c;再看題目給她&#xff0c;想到git.有可能是.git文件泄露&#xff0c;dirsearch掃描一下果然是&#xff0c;用GitHack看一下git備份文件&#xff0c;得到hint…

Transformer:GPT背后的造腦工程全解析(含手搓過程)

Transformer&#xff1a;GPT背后的"造腦工程"全解析&#xff08;含手搓過程&#xff09; Transformer 是人工智能領域的革命性架構&#xff0c;通過自注意力機制讓模型像人類一樣"全局理解"上下文關系。它摒棄傳統循環結構&#xff0c;采用并行計算實現高…

算法備案全景洞察趨勢解碼:技術迭代、行業裂變與生態重構

自 2023 年《互聯網信息服務深度合成管理規定》實施以來&#xff0c;算法備案已成為中國 AI 產業發展的晴雨表。截至 2025 年第十批備案公布&#xff0c;累計通過審核的深度合成算法已突破 5000 項&#xff0c;勾勒出一條 “技術攻堅 - 場景落地 - 生態構建” 的清晰軌跡。本文…

Java vs Go:SaaS 系統架構選型解析與最佳實踐

在構建 SaaS&#xff08;Software as a Service&#xff09;系統時&#xff0c;選用合適的技術棧至關重要。Java 和 Go 是當今最受歡迎的后端開發語言之一&#xff0c;各自有其優勢和適用場景。那么&#xff0c;SaaS 系統開發應該選擇 Java 還是 Go&#xff1f;本文將從多個維度…

MySQL高頻八股——事務過程中Undo log、Redo log、Binlog的寫入順序(涉及兩階段提交)

大家好&#xff0c;我是鋼板獸&#xff01; 在上一篇文章中&#xff0c;我分別介紹了 Undo Log、Redo Log 和 Binlog 在事務執行過程中的作用與寫入機制。然而&#xff0c;實際應用中&#xff0c;這三種日志的寫入是有先后順序的。因此&#xff0c;本篇文章將深入探討它們的寫…

AI自動文獻綜述——python先把知網的文獻轉excel

第一步 Refworks轉excel 下載以后是個txt文件, 幫我把這個txt文件轉excel,用函數形式來寫便于我后期整理成軟件 提取 其中的 標題,作者,單位,關鍵詞,摘要。 分別存入excel列。 import re import pandas as pddef extract_and_convert(txt_file_path, output_excel_path…

企業的應用系統

一、人力資源系統 負責管理員工信息&#xff0c;處理入職&#xff0c;離職&#xff0c;調崗。 1、一般員工的信息有電子檔和紙質檔兩份。 電子檔經常是excel文件。 2、高級的公司會建立一套Web應用系統。 3、實現的功能&#xff1a; 新員工入職登記 (登記信息一般是&#xff1a…

樹莓派學習:環境配置

目錄 樹莓派鏡像工具下載 樹莓派環境配置 通過Putty連接樹莓派 使用樹莓派的VNC 在樹莓派上面進行簡單的編程工作 C語言輸出”hello 樹莓派” Python輸出”hello 樹莓派” 總結與思考 樹莓派鏡像工具下載 在開始配置樹莓派環境之前&#xff0c;首先需要下載樹莓派鏡像…

STC89C52單片機學習——第22節: LED點陣屏顯示圖形動畫

寫這個文章是用來學習的,記錄一下我的學習過程。希望我能一直堅持下去,我只是一個小白,只是想好好學習,我知道這會很難&#xff0c;但我還是想去做&#xff01; 本文寫于&#xff1a;2025.03.16 51單片機學習——第22節: LED點陣屏顯示圖形&動畫 前言開發板說明引用解答和…

淺談數據分析及數據思維

目錄 一、數據分析及數據分析思維&#xff1f;1.1 數據分析的本質1.2 數據分析思維的本質1.2.1 擁有數據思維的具體表現1.2.2 如何培養自己的數據思維1.2.2.1 書籍1.2.2.2 借助工具1.2.2.3 刻意練習 二、數據分析的價值及必備能力&#xff1f;2.1 數據分析的價值2.1.1 現狀分析…

Cursor的使用感受,幫你使用好自動化編程工具,整理筆記

使用感受 說實話&#xff0c;我覺得cursor還是好用的&#xff0c;可能我剛開始使用&#xff0c;沒有使用的非常的熟練&#xff0c;運用也沒有非常的透徹&#xff0c;總體體驗還是不錯的&#xff0c;在使用它時&#xff0c;我優先考慮&#xff0c;前端頁面功能復用的時候&#…

設計模式之組合模式:原理、實現與應用

引言 組合模式&#xff08;Composite Pattern&#xff09;是一種結構型設計模式&#xff0c;它允許你將對象組合成樹形結構以表示“部分-整體”的層次結構。組合模式使得客戶端可以統一對待單個對象和組合對象&#xff0c;從而簡化了客戶端代碼。本文將深入探討組合模式的原理…

appium之Toast元素識別

Appium之Toast元素識別教程與實例 一、Toast簡介 Toast是Android系統中的輕量級消息提示框&#xff0c;以浮動形式短暫顯示&#xff08;通常2-3秒&#xff09;&#xff0c;無法被點擊且不會獲取焦點。常見于登錄失敗、操作提示等場景&#xff0c;如“密碼錯誤”或“網絡異常”。…

Mysql中創建表時的約束條件

約束條件說明示例用法主鍵約束 &#xff08;PRIMARY KEY&#xff09;唯一標識表中的每一行記錄&#xff0c;一個表只能有一個主鍵&#xff0c;主鍵列的值不能為NULL且不能重復CREATE TABLE students ( student_id INT PRIMARY KEY name VARCHAR(50) );創建表時直接指定某一…

SSM框架——Spring面試題

Spring常見面試題 Spring框架中的單例bean是線程安全的嗎 不是線程安全的 Spring框架中有一個Scope注解&#xff0c;默認的值就是singleton&#xff0c;單例的。 因為一般在spring的bean的中都是注入無狀態的對象&#xff0c;沒有線程安全問題&#xff0c;如果在bean中定義了可…

20250317筆記本電腦在ubuntu22.04下使用acpi命令查看電池電量

20250317筆記本電腦在ubuntu22.04下使用acpi命令查看電池電量 2025/3/17 18:05 百度&#xff1a;ubuntu查看電池電量 百度為您找到以下結果 ubuntu查看電池電量 在Ubuntu操作系統中&#xff0c;查看電池電量通常可以通過命令行或者圖形界面來完成。下面是一些常見的方法&…

SpringBoot第三站:配置嵌入式服務器使用外置的Servlet容器

目錄 1. 配置嵌入式服務器 1.1 如何定制和修改Servlet容器的相關配置 1.server.port8080 2. server.context-path/tx 3. server.tomcat.uri-encodingUTF-8 1.2 注冊Servlet三大組件【Servlet&#xff0c;Filter&#xff0c;Listener】 1. servlet 2. filter 3. 監聽器…