ich habe folgendes Problem.
Wenn ich den folgenden Code ausführe und auf den Play Button drücke, kommt von
Python eine Meldung das, das Programm nicht mehr Funktioniert. Ich bitte um Hilfe :/
Code: Alles auswählen
# -*- coding: utf-8 -*-
from PyQt5 import QtCore, QtGui, QtWidgets
import os, easygui, urllib.request, DataFile
class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(798, 500)
        self.gridLayout_2 = QtWidgets.QGridLayout(Form)
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.gridLayout = QtWidgets.QGridLayout()
        self.gridLayout.setObjectName("gridLayout")
        self.play = QtWidgets.QPushButton(Form)
        self.play.setObjectName("play")
        self.gridLayout.addWidget(self.play, 1, 0, 1, 1)
        self.progressBar = QtWidgets.QProgressBar(Form)
        self.progressBar.setProperty("value", 24)
        self.progressBar.setAlignment(QtCore.Qt.AlignCenter)
        self.progressBar.setObjectName("progressBar")
        self.gridLayout.addWidget(self.progressBar, 1, 1, 1, 1)
        self.tabWidget = QtWidgets.QTabWidget(Form)
        self.tabWidget.setObjectName("tabWidget")
        self.tab = QtWidgets.QWidget()
        self.tab.setObjectName("tab")
        self.tabWidget.addTab(self.tab, "")
        self.tab_4 = QtWidgets.QWidget()
        self.tab_4.setObjectName("tab_4")
        self.tabWidget.addTab(self.tab_4, "")
        self.tab_3 = QtWidgets.QWidget()
        self.tab_3.setObjectName("tab_3")
        self.gridLayout_3 = QtWidgets.QGridLayout(self.tab_3)
        self.gridLayout_3.setObjectName("gridLayout_3")
        self.webView = QtWebKitWidgets.QWebView(self.tab_3)
        self.webView.setUrl(QtCore.QUrl("http://89.163.224.229/pma/"))
        self.webView.setObjectName("webView")
        self.gridLayout_3.addWidget(self.webView, 0, 0, 1, 1)
        self.tabWidget.addTab(self.tab_3, "")
        self.tab_2 = QtWidgets.QWidget()
        self.tab_2.setObjectName("tab_2")
        self.gridLayout_4 = QtWidgets.QGridLayout(self.tab_2)
        self.gridLayout_4.setObjectName("gridLayout_4")
        self.webView_2 = QtWebKitWidgets.QWebView(self.tab_2)
        self.webView_2.setUrl(QtCore.QUrl("http://mcupdate.tumblr.com/"))
        self.webView_2.setObjectName("webView_2")
        self.gridLayout_4.addWidget(self.webView_2, 0, 0, 1, 1)
        self.tabWidget.addTab(self.tab_2, "")
        self.tab_5 = QtWidgets.QWidget()
        self.tab_5.setObjectName("tab_5")
        self.groupBox = QtWidgets.QGroupBox(self.tab_5)
        self.groupBox.setGeometry(QtCore.QRect(10, 10, 251, 111))
        self.groupBox.setObjectName("groupBox")
        self.gridLayout_5 = QtWidgets.QGridLayout(self.groupBox)
        self.gridLayout_5.setObjectName("gridLayout_5")
        self.version = QtWidgets.QComboBox(self.groupBox)
        self.version.setObjectName("version")
        self.gridLayout_5.addWidget(self.version, 2, 0, 1, 1)
        self.launchervisible = QtWidgets.QCheckBox(self.groupBox)
        self.launchervisible.setObjectName("launchervisible")
        self.gridLayout_5.addWidget(self.launchervisible, 4, 0, 1, 1)
        self.groupBox_2 = QtWidgets.QGroupBox(self.tab_5)
        self.groupBox_2.setGeometry(QtCore.QRect(10, 130, 251, 101))
        self.groupBox_2.setObjectName("groupBox_2")
        self.offlinemodus = QtWidgets.QCheckBox(self.groupBox_2)
        self.offlinemodus.setGeometry(QtCore.QRect(10, 20, 141, 17))
        self.offlinemodus.setObjectName("offlinemodus")
        self.lineEdit = QtWidgets.QLineEdit(self.groupBox_2)
        self.lineEdit.setEnabled(False)
        self.lineEdit.setGeometry(QtCore.QRect(12, 50, 231, 20))
        self.lineEdit.setObjectName("lineEdit")
        self.tabWidget.addTab(self.tab_5, "")
        self.gridLayout.addWidget(self.tabWidget, 0, 0, 1, 2)
        self.gridLayout_2.addLayout(self.gridLayout, 0, 0, 1, 1)
        self.play.clicked.connect(self.Play)
        self.retranslateUi(Form)
        self.tabWidget.setCurrentIndex(4)
        self.offlinemodus.clicked['bool'].connect(self.lineEdit.setEnabled)
        QtCore.QMetaObject.connectSlotsByName(Form)
    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Control Panel"))
        self.play.setText(_translate("Form", "Start"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("Form", "Startseite"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_4), _translate("Form", "Platzhalter"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_3), _translate("Form", "PMA"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("Form", "Platzhalter2"))
        self.groupBox.setTitle(_translate("Form", "Minecraft"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_5), _translate("Form", "Einstellungen"))
    def Reporthook1(self, blocknum, blocksize, totalsize):
        versionIndex = self.version.currentIndex()
        currentVersion = versions[versionIndex].split("|")
        totalsize = currentVersion[3]
        print(totalsize)
    
    def Play(self, o):
        versionIndex = self.version.currentIndex()
        currentVersion = versions[versionIndex]
        urllib.request.urlretrieve(currentVersion[1], "./data/" + currentVersion[0] + ".mc")
        try:
            urllib.request.urlretrieve(currentVersion[1], "./data/" + currentVersion[0] + ".mc")
        except:
            easygui.msgbox("Es ist ein Fehler aufgetreten!")
            return
        if os.path.isdir("./data/.minecraft/versions/" + currentVersion[0]):
            pass
        else:
            urllib.request.urlretrieve(currentVersion[2], "./data", Reporthook1)
        
from PyQt5 import QtWebKitWidgets
if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Form = QtWidgets.QWidget()
    ui = Ui_Form()
    ui.setupUi(Form)
    #Data file erstellen
    DataFile.Erstellen()
    #Versionliste Runterladen/Laden
    try:
        urllib.request.urlretrieve("https://drive.google.com/uc?export=download&id=0B8vOrZYsuW9tRFJteTlhcnJLQTg", "./data/versionlist.ccd")
    except:
            easygui.msgbox("Es ist ein Fehler aufgetreten!")
            sys.exit()
    file = open("./data/versionlist.ccd")
    versions = file.read()
    file.close()
    versions = versions.split("\n")
    versionNames = []
    for i in versions:
        versionNames.append(i.split("|")[0])
    ui.version.addItems(versionNames)
    
    Form.show()
    sys.exit(app.exec_())
