Autore Topic: WebView  (Letto 4061 volte)

Offline MassimoP

  • Gamberetto
  • *
  • Post: 4
    • Mostra profilo
WebView
« il: 21 Dicembre 2025, 09:42:44 »
Buongiorno a tutti!
Mi chiamo Massimo e sono nuovo su gambas.it.
Ho un problema con WebView e spero che qualcino più preparato di me possa aiutarmi.
Ho sviluppato, con Gambas 3.15.1 con qt4 e, in WebView c'era la prorietà Frame con cui stampavo il contenuto di WebView. Ora con Gambas 3.21 e qt5 questa prorietà non esiste più.
Come posso utilizzare quello che ho nel programma?
Avevo Web.View1.Frame.Print(pPrinter) ora come posso fare?
Grazie in anticipo a tutti.

Offline kicco

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 1.751
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:WebView
« Risposta #1 il: 21 Dicembre 2025, 10:50:14 »
Ciao Massimo, intanto benvenuto. :)
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline kicco

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 1.751
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:WebView
« Risposta #2 il: 21 Dicembre 2025, 11:03:59 »
Non ho esperienza a tal proposito, ma hai dato un occhio qui?
https://gambaswiki.org/wiki/comp/gb.qt4.webkit/webview/frame
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.288
  • Tonno verde
    • Mostra profilo
Re:WebView
« Risposta #3 il: 21 Dicembre 2025, 11:38:08 »
Buongiorno a tutti!
Mi chiamo Massimo e sono nuovo su gambas.it.
Ho un problema con WebView e spero che qualcino più preparato di me possa aiutarmi.
Ho sviluppato, con Gambas 3.15.1 con qt4 e, in WebView c'era la prorietà Frame con cui stampavo il contenuto di WebView. Ora con Gambas 3.21 e qt5 questa prorietà non esiste più.
Come posso utilizzare quello che ho nel programma?
Avevo Web.View1.Frame.Print(pPrinter) ora come posso fare?
Grazie in anticipo a tutti.

Ciao Massimo,

intanto ti devo subito informare che WebView è destinato a scomparire.
Quando fanno domande su di lui Benoit Minisini risponde "usa gb.web.gui"

Poi per poterti aiutare dovrei sapere che Gambas usi e su quale sistema.
Se apri la IDE di Gambas, su un progetto qualunque, puoi cliccare sul menu di aiuto quello con il punto interrogativo e poi sulla voce "Informazioni di sistema..." si apre una finestra , clicca su copia e poi incolla qui fra
Codice: [Seleziona]
che ottieni cliccando sul pulsante col cancelletto.

È un po che non uso WebView ma se vuoi un mio consiglio, io nella tua situazione, farei così:
rimarrei fermo sul Gambas che funziona bene con WebView, nel frattempo mi studierei bene gb.web.gui e aggiornerei il mio programma li.

Trovare una soluzione con WebView penso sia fattibile ma servirebbe solo a prolungare l'agonia, insomma uno sforzo inutile.

Attendo tue notizie, per sapere in quale direzione intendi muoverti.

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.288
  • Tonno verde
    • Mostra profilo
Re:WebView
« Risposta #4 il: 21 Dicembre 2025, 14:10:57 »


Ciao Massimo,
...
Poi per poterti aiutare dovrei sapere che Gambas usi e su quale sistema.
Se apri la IDE di Gambas, su un progetto qualunque, puoi cliccare sul menu di aiuto quello con il punto interrogativo e poi sulla voce "Informazioni di sistema..." si apre una finestra , clicca su copia e poi incolla qui
...

Intendevo dire qui sul forum fra i tag codice che si attivano agendo sul pulsante con il cancelletto appena sopra l'editor e le emoticon

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline MassimoP

  • Gamberetto
  • *
  • Post: 4
    • Mostra profilo
Re:WebView
« Risposta #5 il: 22 Dicembre 2025, 11:54:18 »
Buongiorno a tutti!
Mi chiamo Massimo e sono nuovo su gambas.it.
Ho un problema con WebView e spero che qualcino più preparato di me possa aiutarmi.
Ho sviluppato, con Gambas 3.15.1 con qt4 e, in WebView c'era la prorietà Frame con cui stampavo il contenuto di WebView. Ora con Gambas 3.21 e qt5 questa prorietà non esiste più.
Come posso utilizzare quello che ho nel programma?
Avevo Web.View1.Frame.Print(pPrinter) ora come posso fare?
Grazie in anticipo a tutti.

Ciao Massimo,

intanto ti devo subito informare che WebView è destinato a scomparire.
Quando fanno domande su di lui Benoit Minisini risponde "usa gb.web.gui"

Poi per poterti aiutare dovrei sapere che Gambas usi e su quale sistema.
Se apri la IDE di Gambas, su un progetto qualunque, puoi cliccare sul menu di aiuto quello con il punto interrogativo e poi sulla voce "Informazioni di sistema..." si apre una finestra , clicca su copia e poi incolla qui fra
Codice: [Seleziona]
che ottieni cliccando sul pulsante col cancelletto.

È un po che non uso WebView ma se vuoi un mio consiglio, io nella tua situazione, farei così:
rimarrei fermo sul Gambas che funziona bene con WebView, nel frattempo mi studierei bene gb.web.gui e aggiornerei il mio programma li.

Trovare una soluzione con WebView penso sia fattibile ma servirebbe solo a prolungare l'agonia, insomma uno sforzo inutile.

Attendo tue notizie, per sapere in quale direzione intendi muoverti.

 :ciao:


Offline MassimoP

  • Gamberetto
  • *
  • Post: 4
    • Mostra profilo
Re:WebView
« Risposta #6 il: 22 Dicembre 2025, 11:58:19 »
Ciao Gianluigi,
utilizzo Gambas 3.21.1 su OpenSuSE Leap 16.0
Ho quardato "gb.web.gui" ma devo camiare un sacco di componenti per poterlo utilizzare. Preferirei continuare con WebView per il momento,

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.288
  • Tonno verde
    • Mostra profilo
Re:WebView
« Risposta #7 il: 23 Dicembre 2025, 00:14:45 »
Scusa se sono sintetico, ma questi sono giorni...  :-[

Qui ho allegato un esempio minimale che stampa il file html in PDF.
Per poterlo usare devi installare sul tuo sistema il comando wkhtmltopdf.
Qui lo puoi studiare:
https://github.com/wkhtmltopdf/wkhtmltopdf
Poi una volta creato il file PDF lo puoi mostrare per la stampa usando la libreria gb.plopper.
Qui trovi un esempio sufficientemente completo:
https://gambas-buch.de/dwen/doku.php?id=k23:k23.12:k23.12.5:start

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.288
  • Tonno verde
    • Mostra profilo
Re:WebView
« Risposta #8 il: 23 Dicembre 2025, 11:40:23 »
Ciao Massimo,

Davanti a Copy è sempre meglio mettere un Try pertanto il codice del pulsante Print sarà:
Codice: [Seleziona]
Public Sub Button1_Click()

  Try Copy "./test.html" To User.Home &/ "test.html"
  Wait 0.1
  ' wkhtmltopdf mio_documento.html output.pdf
  Exec ["wkhtmltopdf", User.Home &/ "test.html", User.Home &/ "test.pdf"]

Catch
  Debug "#ERROR:", Error.Code, Error.Text
End

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.288
  • Tonno verde
    • Mostra profilo
Re:WebView
« Risposta #9 il: 23 Dicembre 2025, 11:48:12 »
Spiegazione:

Tu hai chiesto un modo per continuare a stampare con gb.qt5.webview.
Quindi immagino che tu sei in grado di creare il file html e salvarlo in una cartella.
Fatto questo non ti rimane che cambiare il file html in PDF e presentarlo in anteprima per la stampa.
Spero che questo sia quello che cercavi.
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.288
  • Tonno verde
    • Mostra profilo
Re:WebView
« Risposta #10 il: 23 Dicembre 2025, 22:22:28 »
Ho chiesto sulla ML e mi ha risposto lo stesso Benoit Minisini così:
Citazione
You must use javascript. Something like that:

WebView1.ExecJavascript("window.print();")

Regards,

Ma è la prima cosa che ho provato e qui non ha funzionato, magari a te funziona...
Facci sapere qualcosa

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.288
  • Tonno verde
    • Mostra profilo
Re:WebView
« Risposta #11 il: 23 Dicembre 2025, 23:04:10 »
Dimenticavo, per stampare si può anche usare la classe gb.desktop così:
Codice: [Seleziona]
Desktop.Open(User.Home &/ "test.html")
che apre il file html nel bowser predefinito e da lì si può anche stampare o creare un file PDF.
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline pastrank

  • Maestro Gambero
  • ****
  • Post: 287
    • Mostra profilo
Re:WebView
« Risposta #12 il: 25 Dicembre 2025, 13:33:42 »
Però uffa, se io - che uso Webview dopo che mi aveva cambiato il componente precedente - metto nel progetto gb.web.gui, mi dice che e' incompatibile con gb.term :-)

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.288
  • Tonno verde
    • Mostra profilo
Re:WebView
« Risposta #13 il: 25 Dicembre 2025, 21:50:15 »
Però uffa, se io - che uso Webview dopo che mi aveva cambiato il componente precedente

Visto che pare tu sia l'unico qui a usare il componente webview, non hai un suggerimento per Massimo?

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline pastrank

  • Maestro Gambero
  • ****
  • Post: 287
    • Mostra profilo
Re:WebView
« Risposta #14 il: 25 Dicembre 2025, 23:31:46 »
Visto che pare tu sia l'unico qui a usare il componente webview, non hai un suggerimento per Massimo?

Ahime' no, anche io a volte ho trovato difficolta'. Per esempio, recupero del testo usando quel metodo

Codice: [Seleziona]
s = webview.execjavascript("window.getSelection().toString();")

ma quando cercai di estrarre il nome del file immagine sotto il cursore del mouse mi trovai a chiedervi metodi alternativi. Io, se non fossi cosi' arugginito in js, vedendo che questa riga funziona, indagherei sul metodo di stampa in js e se ha qualche requisito, o per vedere se c'e' modo di ottenere una selezione da stampare: chiaro che la selezione dovrebbe essere probabilmente la pagina.