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_())