Qt實現網頁內嵌

文章目錄

一、環境準備

二、代碼實現

三、測試


一、環境準備

首先,確保你的Qt安裝包含了QtWebEngine模塊。我的Qt是5.12.9并且使用MSVC來編譯項目。在項目文件中需要添加以下配置,其中在Qt中配置MSVC,建議去看看這位大佬的博客:Qt 添加MSVC2017編譯器(2022年保姆級教程,不安裝完整VS)_qt msvc2017-CSDN博客

確保:

QT += core gui webenginewidgets

二、代碼實現

mainwindow.cpp,主要實現的簡單網頁瀏覽器,其通過QWebEngineView組件實現了網頁內嵌功能。如下為測試demo文件代碼:

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QWebEngineView>
#include <QWebEnginePage>
#include <QWebEngineProfile>
#include <QStyle>
#include <QApplication>MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);// 設置窗口標題和大小setWindowTitle("Web Browser");resize(1024, 768);// 創建工具欄toolBar = new QToolBar(this);addToolBar(toolBar);// 創建地址欄urlLineEdit = new QLineEdit(this);urlLineEdit->setPlaceholderText("Enter URL (e.g., https://www.google.com)");urlLineEdit->setStyleSheet("QLineEdit { padding: 5px; border-radius: 3px; }");toolBar->addWidget(urlLineEdit);// 創建前進按鈕goButton = new QPushButton("Go", this);goButton->setStyleSheet("QPushButton { padding: 5px 15px; background-color: #4CAF50; color: white; border: none; border-radius: 3px; }""QPushButton:hover { background-color: #45a049; }");toolBar->addWidget(goButton);// 創建網頁視圖webView = new QWebEngineView(this);setCentralWidget(webView);// 創建進度條progressBar = new QProgressBar(this);progressBar->setMaximumHeight(2);progressBar->setTextVisible(false);progressBar->setStyleSheet("QProgressBar { border: none; background-color: #f0f0f0; }""QProgressBar::chunk { background-color: #4CAF50; }");statusBar()->addPermanentWidget(progressBar);// 連接信號和槽connect(goButton, &QPushButton::clicked, this, &MainWindow::loadPage);connect(urlLineEdit, &QLineEdit::returnPressed, this, &MainWindow::loadPage);connect(webView, &QWebEngineView::urlChanged, this, &MainWindow::updateUrl);connect(webView, &QWebEngineView::loadProgress, this, &MainWindow::updateProgress);connect(webView, &QWebEngineView::titleChanged, this, &MainWindow::updateTitle);// 設置初始頁面webView->setUrl(QUrl("https://www.google.com"));
}MainWindow::~MainWindow()
{delete ui;
}void MainWindow::loadPage()
{QString url = urlLineEdit->text();if (!url.startsWith("http://") && !url.startsWith("https://")) {url = "https://" + url;}webView->setUrl(QUrl(url));
}void MainWindow::updateUrl(const QUrl &url)
{urlLineEdit->setText(url.toString());
}void MainWindow::updateProgress(int progress)
{progressBar->setValue(progress);if (progress == 100) {progressBar->hide();} else {progressBar->show();}
}void MainWindow::updateTitle(const QString &title)
{setWindowTitle(title + " - Web Browser");
}

三、測試

1.打開博客網頁:

2.打開B站網頁:?

?

?合理!!!!!

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

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

相關文章

conda管理python環境

其他文章 服務容錯治理框架resilience4j&sentinel基礎應用---微服務的限流/熔斷/降級解決方案-CSDN博客 conda管理python環境-CSDN博客 快速搭建對象存儲服務 - Minio&#xff0c;并解決臨時地址暴露ip、短鏈接請求改變瀏覽器地址等問題-CSDN博客 大模型LLMs的MCP入門-…

Android工廠模式

前言 工廠模式是創建型模式&#xff0c;使我們常用/常見的模式之一。多用于需要生成復雜對象的地方。用new就可以完成創建的對象就無需使用。工廠模式降低了對象之間的耦合度&#xff0c;由于工廠模式依賴抽象的架構&#xff0c;實例化的任務交由子類去完成&#xff0c;所以有…

【AI面試準備】數據驅動測試思維與實踐指南

面試題&#xff1a;數據驅動思維 構建測試數據集&#xff1a;收集代碼覆蓋率、缺陷歷史等數據。 模型訓練優化&#xff1a;使用Jupyter Notebook分析特征重要性。 數據驅動思維是一種以數據為核心、基于數據分析結果進行決策的方法論。它強調通過量化分析、模式識別和預測建模…

內存碎片深度剖析

目錄 什么是內存碎片 內部碎片的解決 malloc STL二級空間配置器 外部碎片的解決 伙伴系統算法 slab分配器 什么是內存碎片 內存碎片是指在內存中存在的一些不連續的、較小的空閑內存塊&#xff0c;這些小塊內存由于太小而無法被有效地分配給程序使用&#xff0c;從而導…

flutter 專題 六十一 支持上拉加載更多的自定義橫向滑動表格

在股票軟件中&#xff0c;經常會看到如下所示的效果&#xff08;ps&#xff1a;由于公司數據敏感&#xff0c;所以使用另一個朋友的一個圖&#xff09;。 分析需要后&#xff0c;我先在網上找了下支持橫向滑動的組件&#xff0c;最后找到了這個&#xff1a;flutter_horizontal…

0-1背包問題基礎概念

一、問題描述 給定一個容量為 W 的背包和 n 個物品。每個物品有一個重量 w[i] 和價值 v[i]。每個物品只能選或不選&#xff08;即“0-1”&#xff09;&#xff0c;求在不超過背包容量的前提下&#xff0c;所能獲得的最大總價值。 輸入&#xff1a; 背包容量 W&#xff08;in…

使用 Semantic Kernel 快速對接國產大模型實戰指南(DeepSeek/Qwen/GLM)

文章目錄 使用 Semantic Kernel 快速對接國產大模型實戰指南&#xff08;DeepSeek/Qwen/GLM&#xff09;一、引言二、環境準備2.1 開發環境2.2 模型服務配置 三、核心代碼實現3.1 會話代碼封裝3.2 CurModelContext封裝3.3 DeepSeek對接示例3.4 Qwen對接示例3.5 GLM對接示例 四、…

Ai時代,運維人如何轉型

在AI時代,傳統運維向智能運維(AIOps)的轉型需要系統性重塑,以下是深度拆解的轉型路線圖和關鍵實施要素: 一、認知升級范式轉變 1. 演進路線模型(三階段) 被動響應階段:人工巡檢(→監控覆蓋率<30%)主動防御階段:規則引擎(→告警準確率70%~85%)預測自治階段:深…

windows鼠標按鍵自定義任意設置

因為用慣了Linux的鼠標中鍵的復制黏貼&#xff0c;發現windows下有完全可以實現類似自定義功能的軟件&#xff0c;推薦一下&#xff1a; X Mouse Button Control。 免費版足夠好用。 軟件簡介&#xff1a; X Mouse Button Control是一款專業的重新映射鼠標按鈕的軟件工具&…

怎么看戶型好不好?

看房型好不好可從以下方面判斷&#xff1a; 空間布局 方正性&#xff1a;戶型方正為佳 &#xff0c;此時進深與開間比例在1:1.5左右。方正戶型空間利用率高&#xff0c;無采光死角。如手槍型、鋸齒型等異形戶型&#xff0c;易有拐角、長過道&#xff0c;空間浪費大。動靜分區…

基于WOA鯨魚優化TCN-BiGRU注意力機制網絡模型的時間序列預測算法matlab仿真

目錄 1.算法運行效果圖預覽 2.算法運行軟件版本 3.部分核心程序 4.算法理論概述 5.算法完整程序工程 1.算法運行效果圖預覽 (完整程序運行后無水印) 2.算法運行軟件版本 matlab2022a/matlab2024b 3.部分核心程序 &#xff08;完整版代碼包含詳細中文注釋和操作步驟視頻…

JAVA簡單走進AI世界~Spring AI

1、背景 現代 AI 正以前所未有的速度改變著世界。它是基于復雜算法和強大計算能力的技術體系,涵蓋了機器學習、深度學習、自然語言處理等多個領域。 在日常生活中,AI 廣泛應用于智能語音助手、圖像識別、推薦系統等。比如,智能音箱能理解并回應語音指令,為人們提供信息查…

stm32wb55rg (4) 啟用usart串口

code repo: 訪問gitee 上節課成功點亮了LED&#xff0c;這次來把usart 用起來&#xff0c;畢竟有交互才是系統。 技術準備 首先查看手冊&#xff0c;發現mcu有1個usart和1個 lpuart。 usart 的使用需要兩個pin&#xff0c;一個接收一個發送。繼續查看pin and ball definition…

Python生活手冊-NumPy數組創建:從快遞分揀到智能家居的數據容器

一、快遞分揀系統&#xff08;列表/元組轉換&#xff09; 1. 快遞單號錄入&#xff08;np.array()&#xff09; import numpy as np快遞單號入庫系統 快遞單列表 ["SF123", "JD456", "EMS789"] 快遞數組 np.array(快遞單列表) print(f"…

數據庫-數據類型,表的約束和基本查詢操作

一、數值類型 1. 整數類型 類型字節有符號范圍無符號范圍操作注意事項TINYINT1-128 ~ 1270 ~ 255默認有符號&#xff0c;UNSIGNED定義無符號SMALLINT2-32768 ~ 327670 ~ 65535無符號需顯式聲明INT4-2^31 ~ 2^31-10 ~ 2^32-1推薦優先使用INTBIGINT8-2^63 ~ 2^63-10 ~ 2^64-1存…

【C語言編譯】編譯原理和詳細過程

文章目錄 1. C 語言編譯原理和詳細過程1.1 預處理階段1.2 編譯階段1.3 匯編階段1.4 鏈接階段 2. 疑問點解析2.1 三地址碼是什么&#xff1f;有什么作用2.2 符號表是什么&#xff1f;有何作用2.3 重定位的含義與作用2.3 符號表和重定位在整個編譯過程中的作用2.4 動態鏈接庫.so和…

游戲引擎學習第251天:完成調試層級結構

運行游戲&#xff0c;查看當前調試層級的狀態。 我們正在直播中開發一個完整的游戲&#xff0c;目前正進行調試代碼的整理和清理工作。現在我們直接進入正題&#xff0c;雖然還不完全確定今天要完成哪些具體內容&#xff0c;但有幾個明確的目標&#xff1a; 首先&#xff0c;…

關于Python:9. 深入理解Python運行機制

一、Python內存管理&#xff08;引用計數、垃圾回收&#xff09; Python&#xff08;CPython&#xff09;采用的是&#xff1a; “引用計數為主&#xff0c;垃圾回收為輔” 的內存管理機制。 也就是說&#xff1a; 引用計數機制&#xff1a;負責大部分內存釋放&#xff0c;簡…

【STM32單片機】#13 RTC實時時鐘

主要參考學習資料&#xff1a; B站江協科技 STM32入門教程-2023版 細致講解 中文字幕 開發資料下載鏈接&#xff1a;https://pan.baidu.com/s/1h_UjuQKDX9IpP-U1Effbsw?pwddspb 單片機套裝&#xff1a;STM32F103C8T6開發板單片機C6T6核心板 實驗板最小系統板套件科協 目錄 Uni…

SecureCRT 使用指南:安裝、設置與高效操作

目錄 一、SecureCRT 簡介 1.1 什么是 SecureCRT&#xff1f; 1.2 核心功能亮點 1.3 軟件特點 二、SecureCRT 安裝與激活 2.1 安裝步驟&#xff08;Windows 系統&#xff09; 2.2 激活與破解&#xff08;僅供學習參考&#xff09; 三、基礎配置與優化 3.1 界面與編碼設…