#1 Wed 22 February 2023 10:12
- Carl56
- Juste Inscrit !
- Date d'inscription: 5 Mar 2020
- Messages: 3
QGIS et l'intelligence artificielle - Conseils
Bonjour mesdames, messieurs,
Je poste un message puisque j'aurais besoin d'aide pour écrire une extension sur QGIS. Maîtrisant bien le logiciel au niveau opérationnel, mais ayant un niveau très basique sur Python, j'ai décidé d'utiliser ChatGPT pour m'écrire un script python.
En fait, je souhaiterai pouvoir ouvrir n'importe quelle page web dans une fenêtre QGIS, dans le but de travailler spatialement et d'avoir en même temps une fenêtre (sur le même écran). Lorsque j'ai formulé ma demande sur Chat GPT, voici ce qu'il m'a sorti :
from PyQt5.QtCore import QUrl
from PyQt5.QtWebEngineWidgets import QWebEngineView
from qgis.gui import QgsBrowserDockWidget
# Define the URL of the web page you want to open
url = QUrl("https://www.google.com")
# Create a QWebEngineView widget to display the web page
web_view = QWebEngineView()
web_view.setUrl(url)
# Create a QgsBrowserDockWidget to host the web view
browser_widget = QgsBrowserDockWidget("Web Page")
browser_widget.setWidget(web_view)
# Add the browser widget to the QGIS interface
iface.addDockWidget(Qt.RightDockWidgetArea, browser_widget)
En faisant un second test, voici ce qu'il m'a également sorti :
from qgis.PyQt.QtGui import QIcon
from qgis.PyQt.QtWidgets import QAction, QToolBar
from qgis.utils import iface, pluginMetadata
class MyPlugin:
def __init__(self, iface):
self.iface = iface
self.toolbar = None
def initGui(self):
# create a toolbar button
self.action = QAction(QIcon(pluginMetadata['icon']), 'Open Web Page', self.iface.mainWindow())
self.action.triggered.connect(self.open_web_page)
# add the button to the toolbar
self.toolbar = QToolBar("My Plugin")
self.toolbar.addAction(self.action)
self.iface.addToolBarIcon(QIcon(pluginMetadata['icon']), self.toolbar)
def unload(self):
# remove the button from the toolbar
self.iface.removeToolBarIcon(self.action)
del self.action
def open_web_page(self):
# Define the URL of the web page you want to open
url = "https://www.google.com"
# Create a QgsBrowserDockWidget to host the web page
browser_widget = QgsBrowserDockWidget("Web Page")
browser_widget.loadUrl(url)
# Add the browser widget to the QGIS interface
self.iface.addDockWidget(Qt.RightDockWidgetArea, browser_widget)
Bon bien sûr, ça ne marche pas x) Mais du coup, j'aurai voulu vous demander si vous auriez une idée de pourquoi ça ne fonctionne pas et notamment de comment ça pourrait fonctionner...
Je vous remercie par avance de vos futures réponses,
Cordialement et bonne journée.
Hors ligne