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

做网站要源码吗网站建设技术维护一年合同

做网站要源码吗,网站建设技术维护一年合同,蚌埠app制作公司,wordpress w3c文章目录 1. 技术平台2. Qt pdf 模块3. cmake 使用模块4. 许可证5. 简单示例5.1 CMakeLists.txt5.2 main.cpp 6. 总结 1. 技术平台 项目说明OSwin10 x64Qt6.6compilermsvc2022构建工具cmake 2. Qt pdf 模块 Qt PDF模块包含用于呈现PDF文档的类和函数。 QPdfDocument 类加载P… 文章目录 1. 技术平台2. Qt pdf 模块3. cmake 使用模块4. 许可证5. 简单示例5.1 CMakeLists.txt5.2 main.cpp 6. 总结 1. 技术平台 项目说明OSwin10 x64Qt6.6compilermsvc2022构建工具cmake 2. Qt pdf 模块 Qt PDF模块包含用于呈现PDF文档的类和函数。 QPdfDocument 类加载PDF文档并根据QPdfDocumentRenderOptions类提供的选项从中呈现页面。QPdfPageRenderer 类管理一个队列该队列收集所有呈现请求。QPdfPageNavigator 类处理通过PDF文档的导航。QPdfSearchModel 类搜索字符串并保存搜索结果。QPdfBookmarkModel 类保存目录如果存在。QPdfLinkModel 保存有关页面上超链接的信息。QPdfView 小部件是一个完整的PDF查看器 PDF Viewer Widget Example 示例展示了如何使用它。 Qt Quick 部分略过不提 如果只需要呈现页面图像而不需要文本选择、搜索和导航等功能则该模块包含一个QImageIOHandler插件该插件将PDF视为可伸缩的图像格式类似于SVG。您可以简单地使用Image并将currentFrame属性设置为希望显示的页面索引。如果PDF文件不呈现其自己的背景则图像具有透明背景。 3. cmake 使用模块 find_package(Qt6 REQUIRED COMPONENTS Pdf PdfWidgets)target_link_libraries(mytarget Qt6::Pdf Qt6::PdfWidgets) 4. 许可证 Qt PDF在Qt公司的商业许可下可用。此外它在GNU较宽松通用公共许可证(版本3)或GNU通用公共许可证(版本2)下可用。有关此模块的更多详细信息请参阅Qt PDF许可。 5. 简单示例 5.1 CMakeLists.txt #CMakeLists.txtcmake_minimum_required(VERSION 3.5)project(QtPDF VERSION 0.1 LANGUAGES CXX)set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON)set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON)find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets PdfWidgets Pdf) find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets PdfWidgets Pdf)set(PROJECT_SOURCESmain.cpp )if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)qt_add_executable(QtPDFMANUAL_FINALIZATION${PROJECT_SOURCES}) # Define target properties for Android with Qt 6 as: # set_property(TARGET QtPDF APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR # ${CMAKE_CURRENT_SOURCE_DIR}/android) # For more information, see https://doc.qt.io/qt-6/qt-add-executable.html#target-creation else()if(ANDROID)add_library(QtPDF SHARED${PROJECT_SOURCES}) # Define properties for Android with Qt 5 after find_package() calls as: # set(ANDROID_PACKAGE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/android)else()add_executable(QtPDF${PROJECT_SOURCES})endif() endif()target_link_libraries(QtPDF PRIVATEQt${QT_VERSION_MAJOR}::WidgetsQt${QT_VERSION_MAJOR}::PdfWidgetsQt${QT_VERSION_MAJOR}::Pdf )# Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1. # If you are developing for iOS or macOS you should consider setting an # explicit, fixed bundle identifier manually though. if(${QT_VERSION} VERSION_LESS 6.1.0)set(BUNDLE_ID_OPTION MACOSX_BUNDLE_GUI_IDENTIFIER com.example.QtPDF) endif() set_target_properties(QtPDF PROPERTIES${BUNDLE_ID_OPTION}MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}MACOSX_BUNDLE TRUEWIN32_EXECUTABLE TRUE )include(GNUInstallDirs) install(TARGETS QtPDFBUNDLE DESTINATION .LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} )if(QT_VERSION_MAJOR EQUAL 6)qt_finalize_executable(QtPDF) endif() 5.2 main.cpp #include QtWidgets #include QtPdfWidgets #include qout.hppint main(int argc, char *argv[]) {QApplication a(argc, argv);QMainWindow w;// 分割器auto splitter new QSplitter(w);w.setCentralWidget(splitter);// PDF查看器控件auto *pdf_view new QPdfView(splitter);pdf_view-setPageMode(QPdfView::PageMode::MultiPage); // 多页浏览模式pdf_view-setZoomMode(QPdfView::ZoomMode::FitToWidth);// 适合宽度模式// QPdfDocument类 加载PDF文档并呈现页面auto pdf_doc new QPdfDocument(pdf_view);pdf_view-setDocument(pdf_doc);pdf_doc-load(E:/00_Download/Compressed/现代 C 教程高速上手 C 11_14_17_20.pdf);// QPdfBookmarkModel类 保存PDF文档中的链接树(锚点)例如目录。QPdfBookmarkModel *pdfBookmarkModel new QPdfBookmarkModel(splitter);pdfBookmarkModel-setDocument(pdf_doc);// 使用TreeView 来显示目录auto bookMarkTreeView new QTreeView(splitter);QFont serifFont(Times, 10, QFont::Normal);bookMarkTreeView-setModel(pdfBookmarkModel);bookMarkTreeView-setFont(serifFont);bookMarkTreeView-header()-hide();splitter-addWidget(bookMarkTreeView);splitter-addWidget(pdf_view);splitter-setStretchFactor(1,1); // pdf_view 获取最大的可用空间w.showMaximized();// 打印书签的角色名称qout pdfBookmarkModel-roleNames();qout pdfBookmarkModel-rowCount() pdfBookmarkModel-columnCount();auto index pdfBookmarkModel-index(0,0);qout index;qout pdfBookmarkModel-data(index,(int)QPdfBookmarkModel::Role::Title);qout pdfBookmarkModel-data(index,(int)QPdfBookmarkModel::Role::Level);qout pdfBookmarkModel-data(index,(int)QPdfBookmarkModel::Role::Page);qout pdfBookmarkModel-data(index,(int)QPdfBookmarkModel::Role::Location);qout pdfBookmarkModel-data(index,(int)QPdfBookmarkModel::Role::Zoom);QObject::connect(bookMarkTreeView,QTreeView::clicked,bookMarkTreeView,[pdf_view,pdfBookmarkModel](const QModelIndex index){QPdfPageNavigator* nav pdf_view-pageNavigator();auto page pdfBookmarkModel-data(index,(int)QPdfBookmarkModel::Role::Page).toInt();nav-jump(page, {}, nav-currentZoom());});return a.exec(); }6. 总结 Qt pdf 模块 底层使用的是PDFium库, 不知道是不是PDFium库的版本问题,在解析书签目录的时候,还是有点问题, 没有location,所以没必要深究这个模块,不是太理想
http://www.dnsts.com.cn/news/199020.html

相关文章:

  • h5跟传统网站有啥区别厦门做个网站多少钱
  • 如何在ftp做网站建行企业网站
  • 二手交易网站开发方式网站建设服务有哪些方面
  • 合肥网络公司 网站建设中工信融做网站怎么样
  • 做网站用什么软件最简单dedecms网站制作教程
  • 个人做网站接装修活哪个网站好外贸网站主机选择
  • 昆明制作网站公司h5游戏源码
  • 有效的网络编址方案有沈阳seo建站
  • 帝国网站怎么仿站wordpress中文论坛
  • 响应式网站导航栏专门做高端网站设计的云华设计
  • 广州企业500强名单广州seo推广运营专员
  • 免费软件怎么盈利谷歌wordpress优化
  • 台州专业网站建设framer网页界面设计
  • 做网站好处瓦房店网站制作
  • 礼品网站制作湖南建设教育网站
  • 廊坊网站建设方案开发软文推广案例500字
  • 网站建设 好牛网站建设申请书
  • 新万网西安seo王尘宇
  • 网站开发及维护费用网站建设服务协议
  • 凤城网站建设哈尔滨可以做网站的公司
  • 网站图片加载 优化网站备案和服务器备案
  • 做俄语网站建设WordPress用户认证中心
  • 商户如何做h5商城网站是什么意思怎样批量做全国网站
  • 网站后台报表统计系统新乡网站建设多少钱
  • 上海自适应网站制作灯光设计师培训
  • 佛山高端网站设计外贸在哪个网站做
  • 医院 网站建设 中企动力深圳市建业公司
  • 网站开发做原型吗搭建平台的成语
  • 做采集的网站有流量吗石家庄市住房和建设局网站
  • 紫金银行网站医疗网站建设咨询