IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PyQt Python Discussion :

Dysfonctionnement après mise à jour


Sujet :

PyQt Python

  1. #1
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut Dysfonctionnement après mise à jour
    Bonjour,

    Suite à une mise à jour de QtWebKit la méthode QWebView.setUrl() tronque systématiquement les url internes du basename

    code exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    # -*- coding: utf-8 -*-
     
    import sys
     
    from PyQt4 import QtCore, QtGui, QtWebKit
    print "QtWebKit vers: ", QtWebKit.qWebKitVersion()
     
    class MiniView(object):
        def setupUi(self, MainWindow):
            MainWindow.resize(400, 300)
            self.centralwidget = QtGui.QWidget(MainWindow)
            self.gridLayout = QtGui.QGridLayout(self.centralwidget)
            self.webView = QtWebKit.QWebView(self.centralwidget)
            self.gridLayout.addWidget(self.webView, 0, 0, 1, 1)
            MainWindow.setCentralWidget(self.centralwidget)
            MainWindow.show()
            QtCore.QCoreApplication.processEvents()
     
            self.osm_url = QtCore.QUrl("/home/vincent/g13n/Qmap/OSmapViewer.html")
            self.webView.setUrl(self.osm_url)
            print "Url: ", self.webView.url()
     
    if __name__ == "__main__":
        app = QtGui.QApplication(sys.argv)
        MainWindow = QtGui.QMainWindow()
        ui = MiniView()
        ui.setupUi(MainWindow)
        sys.exit(app.exec_())
    Avec la version de QtWebKit 2.2, que j'ai toujours sous Debian et plusieurs Ubuntu, pas de soucis, la page s'affiche et je print ceci:

    vincent@tiemoko:~/Qmap$ python map.py
    QtWebKit vers: 532.4
    Url: PyQt4.QtCore.QUrl(u'file:///home/vincent/g13n/Qmap/OSmapViewer.html')
    Sous Arch Linux, où une mise à jour a eu lieu avant-hier vers QtWebKit 2.2.1 la page ne s'affiche pas et le print montre que l'url est incomplète:

    [vincent@myhost Qmap]$ python2 map.py
    QtWebKit vers: 534.34
    Url: PyQt4.QtCore.QUrl(u'file:///home/vincent/g13n/Qmap')
    À tous hasards, j'ai posté sur la ML de PyQt, sans réponse mais je ne pense pas à un bug PyQt.

    Je met un html pour tester, cela charge une carte d'OpenStreetMap.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    <!DOCTYPE html>
    <html>
    <head>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <style type="text/css">
      html { height: 100% }
      body { height: 100%; margin: 0px; padding: 0px }
      #map_canvas { height: 100% }
    </style>
    <script type="text/javascript"
        src="http://maps.google.com/maps/api/js?sensor=false">
    </script>
    <script type="text/javascript">
     
     
      function updateLatLonFields(lat, lon, zoom) {
        document.getElementById("coord").innerHTML = lat + ", " + lon + ", " + zoom;
      }
     
      function initialize() {
        var latlng = new google.maps.LatLng(50.83190499378414, 4.385846084594736);
        var myOptions = {
          zoom: 18,
          center: latlng,
          mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        var map = new google.maps.Map(document.getElementById("map_canvas"),
            myOptions);
     
        document.getElementById("coord").innerHTML = latlng.lat() + ",  " + latlng.lng() + ", 18";
     
        google.maps.event.addListener(map, 'bounds_changed', function() {
            var center = map.getCenter();
            var zoom = map.getZoom();
            updateLatLonFields(center.lat(), center.lng(), zoom);
            });
     
      }
     
    </script>
    </head>
    <body onload="initialize()">
      <div id="map_canvas" style="width:100%; height:100%"></div>
    </body>
    <iframe id="coord" style="display: none">
    </iframe>
    </html>
    J'ai fais d'autres essais, entre autres avec QWebInspector (pas mal ce truc) toujours avec le même résultat.

    Des idées ?

    Merci.

  2. #2
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 462
    Points : 9 249
    Points
    9 249
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Citation Envoyé par VinsS Voir le message
    Des idées ?
    Juste une: il m'est déjà arrivé sous Linux d'avoir un problème du même genre sur un autre programme par suite d'un paquet de mise à jour mal construit. Si c'est le cas, il faudrait plutôt regarder dans les forums des Linux en question, et, de toute façon, surveiller dans les prochains jours une éventuelle mise à jour rectificative.
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  3. #3
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Ben oui, c'est aussi ce que je me dis, j'ai voulu regarder du côté des bugs Qt mais c'est un peu le foutoir pour le moment.

    Il sont en train de déménager le Bugtracker, chez Qt, et il en ont créé un séparé pour le webKit.

    Wait and see.

    Merci.

Discussions similaires

  1. Lancement d'une macro après mise à jour d'une cellule
    Par Mukade dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 17/10/2007, 11h52
  2. Plus d'internet après mise à jour
    Par Le Furet dans le forum Windows Vista
    Réponses: 1
    Dernier message: 02/10/2007, 14h30
  3. Réponses: 1
    Dernier message: 27/06/2007, 10h31
  4. Mon programme ne fonctionne plus après mise à jour de linux
    Par dybmans dans le forum GTK+ avec C & C++
    Réponses: 22
    Dernier message: 06/05/2007, 18h08
  5. Réponses: 5
    Dernier message: 13/07/2006, 09h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo