1

I'm currently working with PyQt5 and PyQtWebEngine and I want to create a small map in the form of a circle.I tried to add setStyleSheet but it didn't give good results.

This is what I want to get :

enter image description here

This is the code I made, but it doesn't give good results :

from PySide2.QtWebEngineWidgets import QWebEngineView
from PySide2 import QtCore, QtGui, QtWidgets
from PySide2.QtWidgets import *
from PySide2.QtCore import *
from PySide2.QtGui import *
import folium
import sys
import io

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(400, 400)
        
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        
        self.qwebengine = QWebEngineView(self.centralwidget)
        self.qwebengine.setGeometry(QtCore.QRect(50, 50, 300, 300))
        self.qwebengine.setAutoFillBackground(False)
        self.qwebengine.setStyleSheet("QWebEngineView{border-radius :150px;}")
        self.qwebengine.setObjectName("qwebengine")

        self.latitude = 30.2676143646
        self.longitude = -9.5122070312
        coordinate = (self.latitude , self.longitude)
        self.map = folium.Map(zoom_start=10, location=coordinate, zoom_control=False, radius = 150)
        data = io.BytesIO()
        # save map data to data object
        self.map.save(data, close_file=False)
        self.qwebengine.setHtml(data.getvalue().decode())

        MainWindow.setCentralWidget(self.centralwidget)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
        

if __name__ == "__main__":
    app = QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    window = Ui_MainWindow()
    window.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

This code gives me :

enter image description here

0 Answers0