Moderador: Moderadores
/*
Qt5xHb Project - Test Program
Copyright (C) 2020 Marcos Antonio Gambeta
E-mail:
marcosgambeta AT outlook DOT com
Website:
https://github.com/marcosgambeta/Qt5xHb
*/
#include "qt5xhb.ch"
PROCEDURE Main ()
LOCAL oApp
LOCAL oWindow
LOCAL oWebEngineView
oApp := QApplication():new()
QtWebEngine():initialize()
oWindow := QWidget():new()
oWindow:setWindowTitle("Teste da classe QWebEngineView")
oWindow:resize(800,600)
oWebEngineView := QWebEngineView():new(oWindow)
oWebEngineView:move(20,20)
oWebEngineView:resize(800-40,600-40)
cHTML := ""
cHTML += "<html>"
cHTML += "<head>"
cHTML += "<title>"
cHTML += "Teste"
cHTML += "</title>"
cHTML += "</head>"
cHTML += "</html>"
cHTML += "<body>"
cHTML += "<h1>"
cHTML += "<p>"
cHTML += "Teste"
cHTML += "</p>"
cHTML += "</h1>"
cHTML += "</body>"
oWindow:show()
// use sempre depois do 'show'
oWebEngineView:setHtml(cHTML)
oApp:exec()
oWindow:delete()
oApp:delete()
RETURN
/*
Qt5xHb Project - Test Program
Copyright (C) 2020 Marcos Antonio Gambeta
E-mail:
marcosgambeta AT outlook DOT com
Website:
https://github.com/marcosgambeta/qt5xhb
*/
#include "qt5xhb.ch"
PROCEDURE Main()
LOCAL oApp
LOCAL oWindow
LOCAL oTextEdit
LOCAL oButton
oApp := QApplication():new()
oWindow := QWidget():new()
oWindow:setWindowTitle( "Teste da classe QNetworkAccessManager" )
oWindow:resize( 800, 600 )
oTextEdit := QTextEdit():new( oWindow )
oTextEdit:move( 20, 20 )
oTextEdit:resize( 800 - 40, 600 - 40 )
oButton := QPushButton():new( "GetHTML", oWindow )
oButton:move( 0, 0 )
oButton:resize( 100, 20 )
oButton:onClicked( {|| oTextEdit:setPlainText( getHTML( "https://www.qt.io" ) ) } )
oWindow:show()
oApp:exec()
oWindow:delete()
oApp:delete()
RETURN
STATIC FUNCTION getHTML( cURL )
LOCAL oManager
LOCAL oResponse
LOCAL lReady := .F.
LOCAL cHTML := ""
oManager := QNetworkAccessManager():new()
oResponse := oManager:get( QNetworkRequest():new( QUrl():new( cURL ) ) )
oResponse:onFinished( {|| lReady := .T. } )
DO WHILE !lReady
QCoreApplication():processEvents()
ENDDO
cHTML := oResponse:readAll():constData()
oResponse:onFinished()
oManager:delete()
RETURN cHTML
/*
Qt5xHb Project - Test Program
Copyright (C) 2020 Marcos Antonio Gambeta
E-mail:
marcosgambeta AT outlook DOT com
Website:
https://github.com/marcosgambeta/Qt5xHb
*/
#include "qt5xhb.ch"
PROCEDURE Main ()
LOCAL oApp
LOCAL oWindow
LOCAL oPushButtonHome
LOCAL oPushButtonBack
LOCAL oPushButtonForward
LOCAL oPushButtonReload
LOCAL oPushButtonStop
LOCAL oLabel
LOCAL oLineEdit
LOCAL oPushButtonGo
LOCAL oWebEngineView
LOCAL oUrlHome
oApp := QApplication():new()
QtWebEngine():initialize()
oUrlHome := QUrl():new("http://www.qt.io")
oWindow := QWidget():new()
oWindow:setWindowTitle("Navigator")
oWindow:resize(1024,768)
// cria os objetos da janela
oPushButtonHome := QPushButton():new("Home", oWindow):move(20,20):resize(50,30)
oPushButtonBack := QPushButton():new("Back", oWindow):move(70,20):resize(50,30)
oPushButtonForward := QPushButton():new("Forward", oWindow):move(120,20):resize(50,30)
oPushButtonReload := QPushButton():new("Reload", oWindow):move(170,20):resize(50,30)
oPushButtonStop := QPushButton():new("Stop", oWindow):move(220,20):resize(50,30)
oLabel := QLabel():new("URL:", oWindow):move(270,20):resize(50,30):setAlignment(Qt_AlignCenter)
oLineEdit := QLineEdit():new("http://www.qt.io", oWindow):move(320,20):resize(300,30)
oPushButtonGo := QPushButton():new("Go", oWindow):move(620,20):resize(50,30)
oWebEngineView := QWebEngineView():new(oWindow)
oWebEngineView:move(20,70)
oWebEngineView:resize(1024-40,768-20-70)
// configura as ações que serão executadas pelos botões
oPushButtonHome:onClicked( {||oWebEngineView:load( oUrlHome )} )
oPushButtonBack:onClicked( {||oWebEngineView:back()} )
oPushButtonForward:onClicked( {||oWebEngineView:forward()} )
oPushButtonReload:onClicked( {||oWebEngineView:reload()} )
oPushButtonStop:onClicked( {||oWebEngineView:stop()} )
oPushButtonGo:onClicked( {||oWebEngineView:load(QUrl():new(oLineEdit:text()))} )
// carrega a página se pressionar ENTER no campo de digitação
oLineEdit:onReturnPressed( {||oWebEngineView:load(QUrl():new(oLineEdit:text()))} )
// atualiza o tÃtulo da janela sempre que o tÃtulo da página mudar
oWebEngineView:onTitleChanged( {|pSender,cTitle|oWindow:setWindowTitle("Navigator - " + cTitle)} )
// atualiza o tamanho do objeto QWebEngineView sempre que o tamanho da janela mudar
oWindow:onResizeEvent( {||oWebEngineView:resize(oWindow:width()-40,oWindow:height()-20-70)} )
oWindow:show()
oWebEngineView:load( oUrlHome )
oApp:exec()
oWindow:delete()
oApp:delete()
RETURN
Vlademiro escreveu:Teria alguma versão do MSVC especÃfica ? Eu nunca usei o MSVC. Poderia me passar um link ?
Retornar para Outras Bibliotecas Visuais e IDEs
Usuários vendo este fórum: Nenhum usuário registrado online e 3 visitantes