當前位置:首頁 » 網頁前端 » qt5發布為web
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

qt5發布為web

發布時間: 2022-06-18 18:58:43

A. QT 中向webservice發送xml數據請求

服務端向客戶端傳數據不會做了!這樣 你是給他提供介面,他傳入參數給你 你通過這些參數 在後台取得應該返回的東西 返回給他,比如 介面為
public String getUserID(String name);//這里的參數也許是個XML,那麼你就需要解析這個XML,
通過name 查詢資料庫 返回userID;
return userID;

B. QT5,刪除QWebView控制項,發生崩潰,求助

打開工程,依次操作菜單如下:Project->Setting->Link,在Category 中選中Output,然後在Reserve中設定堆棧的最大值和commit。
注意:reserve最小值為4Byte;commit是保留在虛擬內存的頁文件裡面,它設置的較大會使棧開辟較大的值,可能增加內存的開銷和啟動時間。

C. qt5 qwebview使用哪個槽

QWebView::load 這個QUrl中需要在前面加"file:///" 或者你用QWebView::setHtml(QString)把本地的html文件讀出,然後將讀出的字元串傳到setHtml中作為參數

D. 已經安裝最新的QT5.5.1,為什麼沒有QtWebEngine模塊

為什麼要自己下載安裝呢
使用包管理器安裝又方便又好用
何必要找麻煩從官網下載安裝呢

如果確實有必要自己從官網下載安裝的話
那就另當別論了
首先檢查下libHelp.so的文件是不是有錯誤(主要看它是不是一個動態庫)
然後再檢查看下是否有libgstapp-0.10.so.0這個庫(自己的系統是否已經安裝了這個庫)
如果沒有的話就安裝它
最後不知道你的系統是多少位的?查看下載的是否與你系統位數一致

也可以使用apt-get的build-dep參數來安裝相應軟體的依賴等等
sudo apt-get build-dep 要安裝的軟體的名稱
sudo apt-get build-dep qt5-doc
自己檢查下看看
搭建好安裝環境後再安裝qt5看看是否會成功

E. qt在linux下怎麼編譯生成webengine模塊

[wanglj@localhost testQT]$ make
g++ -o testQT main.o -L/opt/Qt5.1.1/5.1.1/gcc_64/lib -lqt-mt -lXext -lX11 -lm
main.o: In function `main':
/home/wanglj/testQT/main.cpp:6: undefined reference to `QApplication::QApplication(int&, char**, int)'
main.o: In function `QString':
/usr/include/QtCore/qstring.h:413: undefined reference to `QString::fromAscii_helper(char const*, int)'
main.o: In function `main':
/home/wanglj/testQT/main.cpp:7: undefined reference to `QLabel::QLabel(QString const&, QWidget*, QFlags<Qt::WindowType>)'
main.o: In function `~QString':
/usr/include/QtCore/qstring.h:869: undefined reference to `QString::free(QString::Data*)'
/usr/include/QtCore/qstring.h:869: undefined reference to `QString::free(QString::Data*)'
collect2: ld 返回 1
make: *** [testQT] 錯誤 1

但若直接用 qtcreator 打開編譯,則無錯誤
並且find -name libqt-mt* 也找不到其他版本的該文件

用qtcreator編譯好的可執行文件,也找不到連接該lib文件

[wanglj@localhost build-testQT-桌面-Debug]$ ldd testQT
linux-vdso.so.1 => (0x00007fff4ddff000)
libQtGui.so.4 => /usr/lib64/libQtGui.so.4 (0x000000397f000000)
libQtCore.so.4 => /usr/lib64/libQtCore.so.4 (0x000000397ea00000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003978600000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007fda6a081000)
libm.so.6 => /lib64/libm.so.6 (0x0000003977a00000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003983a00000)
libc.so.6 => /lib64/libc.so.6 (0x0000003977e00000)
libgthread-2.0.so.0 => /lib64/libgthread-2.0.so.0 (0x000000397a600000)
librt.so.1 => /lib64/librt.so.1 (0x0000003978e00000)
libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x0000003979200000)
libpng12.so.0 => /usr/lib64/libpng12.so.0 (0x000000397be00000)
libz.so.1 => /lib64/libz.so.1 (0x0000003978a00000)
libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x000000397ba00000)
libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x0000003979e00000)
libSM.so.6 => /usr/lib64/libSM.so.6 (0x0000003985a00000)
libICE.so.6 => /usr/lib64/libICE.so.6 (0x0000003984e00000)
libXi.so.6 => /usr/lib64/libXi.so.6 (0x000000397ce00000)
libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x000000397d600000)
libXrandr.so.2 => /usr/lib64/libXrandr.so.2 (0x000000397de00000)
libXfixes.so.3 => /usr/lib64/libXfixes.so.3 (0x000000397da00000)
libXcursor.so.1 => /usr/lib64/libXcursor.so.1 (0x000000397e200000)
libXinerama.so.1 => /usr/lib64/libXinerama.so.1 (0x000000397e600000)
libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x000000397d200000)
libXext.so.6 => /usr/lib64/libXext.so.6 (0x000000397c600000)
libX11.so.6 => /usr/lib64/libX11.so.6 (0x000000397b600000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000003978200000)
/lib64/ld-linux-x86-64.so.2 (0x0000003977600000)
libuuid.so.1 => /lib64/libuuid.so.1 (0x0000003983600000)
libexpat.so.1 => /lib64/libexpat.so.1 (0x000000397c200000)
libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x000000397ae00000)
libXau.so.6 => /usr/lib64/libXau.so.6 (0x000000397aa00000)

------解決方案--------------------
INCPATH = -I/usr/lib64/qt-3.3/mkspecs/default -I. -I. -I$(QTDIR)/include
這一行看上去你調用的qmake不是5.1.1的。試試指定完整路徑運行qmake
/opt/Qt5.1.1/5.1.1/gcc_64/bin/qmake testQT.pro

F. 電腦丟失Qt5WebEngineCore.dll怎麼辦

首先可以用360衛士進行系統修復試試看,如果不行就去網站搜索Qt5WebEngineCore.dll下載安裝。1、解壓下載的文件;2、復制文件到系統目錄下;一般情況下系統目錄為:32為系統:C:\WINNT\System32;64位系統:C:\Windows\SysWOW64;3、最後點擊開始->菜單->運行->輸入regsvr32 qt5webenginecore.dll,然後回車即可解決錯誤問題了。

G. 用qt開發webservice客戶端

# filename: cli.pro

LIBS += -lwsock32

SOURCES += \

main.cpp \

..\gsoap\soapC.cpp \

..\gsoap\soapClient.cpp \

..\gsoap\stdsoap2.cpp

# for proxy

SOURCES += \

..\gsoap\soapcuProxy.cpp

H. 如何利用 QT 進行 web 與本地混合應用開發

如何利用 QT 進行 web 與本地混合應用開發是本文要講述的內容,Qt提供了本地 C++對象與JavaScript的無縫集成,是進行本地與web混合應用開發的理想平台。

一、Qt Webkit 集成

利用Qt的Webkit 集成與QtNetwork模塊,你完全可以進行本地桌面與web混合應用開發,你可以自由地混合JavaScript,樣式表,Web內容和Qt組件。 Webkit是一個非常成熟的web瀏覽引擎。Qt中集成了這個大名鼎鼎的引擎,通過QtWebkit,你可以在C++ 中執行JavaScript,或者在網頁中集成C++對象,並且通過JavaScript和這些對象進行交互。

一個現代的HTML渲染引擎只 是混合開發的一半,另一半就是本地應用和渲染對象的交互。QT的Webkit 集成提供了這種解決方案:

1.使用object標簽嵌入Qt Widgets組件。這可以讓使用C++代碼的Qt組件包含在網頁中,作為網頁的部分外觀。

2.在JavaScript中訪問C++對象。你 可以在JavaScript環境中插入C++對象,讓網頁腳本直接訪問你的數據結構。

3.在Qt中執行JavaScript。你可以在C++ 調用網頁環境中的JavaScript函數,觸發網頁事件。

4.共享客戶端存儲。在JavaScript和C++中你都具有訪問資料庫的能 力,這樣當下線時也能共享大量數據。

二、與嵌入的Qt對象交互

使用 QWebView 組件,有兩種方法可以在網頁中嵌入C++對象。你可以在網頁的JavaScript中添加C++對象,或者也可以創建一個插件,然後在網頁中使用 object標簽嵌入。

第二種方法更容易入手。當在網頁中放入 Widget組件時,它的所有public slots就像普通函數一樣被網頁中的JavaScript函數訪問。

要在網頁中添加一個Widget,首先要告訴你的QWebPage對象,該Widget可用,這個通過子類化QWebPlugFactory完成,
你需要 重新實現兩個方法:plugs和create。plugs方法通知網頁該Widget可用,create方法根據請求創建widget。

在 HTML網頁中,widgets使用object標簽創建。比如,下面這個標簽試圖創建一個 application/x-qt-colorlabel組件。
<object type="application/x-qt-colorlabel" width="50px" height="20px" id="label" />

要利用這種創建,必須要允許使用插件並且要告訴QWebpage插件的工廠類。在下面的代碼中,ColorLabelFactory將 會根據application/x-qt-colorlabel的請求創建相應實例。
QWebSettings::globalSettings()->setAttribute(QWebSettings::PluginsEnabled, true); webView->page()->setPluginFactory(new ColorLabelFactory(this));

ColorLabel有一個公開的slot: chagneColor(),這個對於網頁中的JavaScript自動可用。在網頁中插入一個指向該元素的鏈接,可以以一種簡單的方式激活C++函數。
<a href='javascript:document.getElementById("label").changeColor();'>Change color!</a>

要反方向推進事件,必須要使你的對象在JavaScript文檔上下文中可用。要對QWebPage的每一個 QWebFrame,調用addToJavaScriptWindowObject方法。這個方法允許你根據名字把一個對象添加到JavaScipt上下 文中。
webView->page()->mainFrame()->addToJavaScriptWindowObject( "eventSource", new eventSource( this ) );

要連接剛添加對象eventSource的信號,要加上一段JavaScript代碼,使用evaluateJavaScript方法
完成。下面的代碼將把eventSource對象的signalName信號連接到一個JavaScript函數destFunction。
webView->page()->mainFrame()->evaluateJavaScript( "eventSource.signalName.connect(destFunction);" );

如果你把一個對象添加到一個以標准瀏覽器查看的JavaScript頁面中,有一個信號需要知道。每一次JavaScript
內容被清除,Frame都會釋放 javaScriptWindowObjectCleared
信號。為了使你的Qt對象一直可用,你需要連接這個信號,並且在這里調用 addToJavaScriptWindowObject函數。

I. 怎麼把網頁發布到Web伺服器

1、遠程登錄到自己的伺服器,進入到存放網頁的根目錄。我用的是阿里雲伺服器Ubuntu14.04版本,根目錄路徑為 /var/www/html。

J. centos 下QT5.8 怎麼編譯 webengine

用Qt5.5.1吧,同時有QtWebkit和QtWebEngine,官方預編譯包還能支持XP系統 Qt5.6後沒有QtWebkit了,官方預編譯包也不支持XP系統,需要支持XP,自己編譯。