pyqt5 table + video + webview, показывающий, что gmaps дает ошибку seg в Ubuntu - PullRequest
0 голосов
/ 08 июня 2018

У меня есть пример кода, который имеет виджет Таблица, виджет видео и виджет веб-просмотра, который показывает карты Google.его код работает без проблем на машине с Windows, но когда я пытаюсь запустить тот же код на машине с Ubuntu 16.04 + PyQt5 5.10.1, я начинаю получать ошибку сегментации, когда запускаю скрипт несколько раз.

Сбой происходит только при загрузке карт Google.Если я просто загружаю google.com, то не вижу сбоев.Я что-то пропустил?

import sys
from PyQt5 import QtGui, QtCore
from PyQt5.QtCore import QDir, Qt, QUrl
from PyQt5.QtMultimedia import QMediaContent, QMediaPlayer
from PyQt5.QtMultimediaWidgets import QVideoWidget
from PyQt5.QtWidgets import (QMainWindow, QApplication, QWidget, QTableWidget,QVBoxLayout,
    QTableWidgetItem, QHBoxLayout,QSplitter,QGroupBox)
from PyQt5.QtWebKit import *
from PyQt5.QtWebKitWidgets import *


class Window(QWidget):  
    def __init__(self,):
        super().__init__()

        self.v_layout = QVBoxLayout(self)

        self.splitter = QSplitter(QtCore.Qt.Horizontal)

        self.left = QGroupBox('Left')

        self.table1 = QTableWidget()
        self.table1.setRowCount(2)
        self.table1.setColumnCount(2)
        self.table1.setItem(0,0, QTableWidgetItem("Cell (1,1)"))
        self.table1.setItem(0,1, QTableWidgetItem("Cell (1,2)"))
        self.table1.setItem(1,0, QTableWidgetItem("Cell (2,1)"))
        self.table1.setItem(1,1, QTableWidgetItem("Cell (2,2)"))

        self.left_layout = QVBoxLayout(self.left)
        self.left_layout.addWidget(self.table1)

        self.right = QGroupBox('Right')
        self.VideoWidget = QVideoWidget()

        self.player = QMediaPlayer(None, QMediaPlayer.VideoSurface)
        self.player.setMedia(QMediaContent(QUrl.fromLocalFile("test.mp4")))
        self.player.play()
        self.player.setVideoOutput(self.VideoWidget)

        self.webview = QWebView()
        url = "https://www.google.com/maps/search/?api=1&query=" + str(50.0621004) + "," + str(8.5608973)
        self.webview.load(QUrl(url))

        self.right_layout = QVBoxLayout(self.right)
        self.right_layout.addWidget(self.webview)

        self.right_layout.addWidget(self.VideoWidget)
        self.splitter.addWidget(self.left)
        self.splitter.addWidget(self.right)

        self.v_layout.addWidget(self.splitter)

        self.resize(840,680)
        self.show()

if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = Window()

    app.exec_()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...