mirror of
				https://gitee.com/gfdgd-xi/deep-wine-runner
				synced 2025-11-04 15:32:23 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			109 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			109 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/env python3
 | 
						||
import os
 | 
						||
import sys
 | 
						||
import json
 | 
						||
import base64
 | 
						||
import req as requests
 | 
						||
import traceback
 | 
						||
import webbrowser
 | 
						||
import urllib.parse as parse
 | 
						||
import PyQt5.QtGui as QtGui
 | 
						||
import PyQt5.QtWidgets as QtWidgets
 | 
						||
from DefaultSetting import *
 | 
						||
 | 
						||
# 读取文本文档
 | 
						||
def readtxt(path: "路径")->"读取文本文档":
 | 
						||
    f = open(path, "r")  # 设置文件对象
 | 
						||
    str = f.read()  # 获取内容
 | 
						||
    f.close()  # 关闭文本对象
 | 
						||
    return str  # 返回结果
 | 
						||
 | 
						||
def Update(name, stars, contact, things, version):
 | 
						||
    # post 内容
 | 
						||
    data = {
 | 
						||
        "Name": name,
 | 
						||
        "Starts": stars,
 | 
						||
        "Contact": contact,
 | 
						||
        "Things": things,
 | 
						||
        "Version": version
 | 
						||
    }
 | 
						||
    try:
 | 
						||
        QtWidgets.QMessageBox.information(widget, "提示", requests.post(parse.unquote(base64.b64decode("aHR0cDovLzEyMC4yNS4xNTMuMTQ0L3NwYXJrLWRlZXBpbi13aW5lLXJ1bm5lci9idWcvdXBsb2FkLnBocA==").decode("utf-8")), data=data).text)
 | 
						||
    except:
 | 
						||
        traceback.print_exc()
 | 
						||
        QtWidgets.QMessageBox.critical(widget, "错误", f"服务器疑似出现错误,可以进行以下尝试:①多尝试几次;②使用其他反馈途径\n错误信息:{traceback.format_exc()}")
 | 
						||
    
 | 
						||
def UpdateButtonClick():
 | 
						||
    #判断是否为空
 | 
						||
    if nameThings.text() == "" or starMenu.currentText() == "" or contactThings.text() == "" or updateThings.toPlainText().replace(" ", "").replace("\n", "") == "":
 | 
						||
        QtWidgets.QMessageBox.critical(widget, "错误", "反馈信息未填写完整!")
 | 
						||
        return
 | 
						||
    Update(name=nameThings.text(), stars=starMenu.currentText(), contact=contactThings.text(), things=updateThings.toPlainText(), version=version)
 | 
						||
 | 
						||
def OpenGiteeIssues():
 | 
						||
    webbrowser.open_new_tab("https://gitee.com/gfdgd-xi/deep-wine-runner/issues")
 | 
						||
 | 
						||
def OpenGithubIssues():
 | 
						||
    webbrowser.open_new_tab("https://github.com/gfdgd-xi/deep-wine-runner/issues")
 | 
						||
 | 
						||
# 获取用户主目录
 | 
						||
def get_home()->"获取用户主目录":
 | 
						||
    return os.path.expanduser('~')
 | 
						||
 | 
						||
###########################
 | 
						||
# 程序信息
 | 
						||
###########################
 | 
						||
iconPath = "{}/deepin-wine-runner.svg".format(os.path.split(os.path.realpath(__file__))[0])
 | 
						||
programPath = os.path.split(os.path.realpath(__file__))[0]  # 返回 string
 | 
						||
information = json.loads(readtxt(programPath + "/information.json"))
 | 
						||
version = information["Version"]
 | 
						||
 | 
						||
###########################
 | 
						||
# 窗口创建
 | 
						||
###########################
 | 
						||
app = QtWidgets.QApplication(sys.argv)
 | 
						||
window = QtWidgets.QMainWindow()
 | 
						||
widget = QtWidgets.QWidget()
 | 
						||
widgetLayout = QtWidgets.QGridLayout()
 | 
						||
nameThings = QtWidgets.QLineEdit()
 | 
						||
contactThings = QtWidgets.QLineEdit()
 | 
						||
starMenu = QtWidgets.QComboBox()
 | 
						||
updateThings = QtWidgets.QTextEdit()
 | 
						||
updateButton = QtWidgets.QPushButton("提交")
 | 
						||
otherUpload = QtWidgets.QHBoxLayout()
 | 
						||
giteeButton = QtWidgets.QPushButton("Gitee Issues")
 | 
						||
githubButton = QtWidgets.QPushButton("Github Issues")
 | 
						||
otherUpload.addWidget(QtWidgets.QLabel("如果无法正常反馈,可以用其他方式反馈:"))
 | 
						||
otherUpload.addWidget(giteeButton)
 | 
						||
otherUpload.addWidget(githubButton)
 | 
						||
otherUpload.addSpacerItem(QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum))
 | 
						||
starMenu.addItems(["5分", "4分", "3分", "2分", "1分"])
 | 
						||
widgetLayout.addWidget(QtWidgets.QLabel("你的昵称:"), 0, 0, 1, 1)
 | 
						||
widgetLayout.addWidget(QtWidgets.QLabel("联系方式(电子邮箱):"), 0, 2, 1, 1)
 | 
						||
widgetLayout.addWidget(QtWidgets.QLabel("评分:"), 0, 4, 1, 1)
 | 
						||
widgetLayout.addWidget(QtWidgets.QLabel("反馈内容(支持 Markdown 格式):"), 1, 0, 1, 2)
 | 
						||
widgetLayout.addWidget(nameThings, 0, 1, 1, 1)
 | 
						||
widgetLayout.addWidget(contactThings, 0, 3, 1, 1)
 | 
						||
widgetLayout.addWidget(starMenu, 0, 5, 1, 1)
 | 
						||
widgetLayout.addWidget(updateThings, 2, 0, 1, 6)
 | 
						||
widgetLayout.addLayout(otherUpload, 3, 0, 1, 5)
 | 
						||
widgetLayout.addWidget(updateButton, 3, 5, 1, 1)
 | 
						||
giteeButton.clicked.connect(OpenGiteeIssues)
 | 
						||
githubButton.clicked.connect(OpenGithubIssues)
 | 
						||
updateButton.clicked.connect(UpdateButtonClick)
 | 
						||
# 禁用 bug 提交,引导到 Gitee 提交 bug
 | 
						||
nameThings.setDisabled(True)
 | 
						||
contactThings.setDisabled(True)
 | 
						||
starMenu.setDisabled(True)
 | 
						||
#updateThings.setDisabled(True)
 | 
						||
updateThings.setReadOnly(True)
 | 
						||
updateButton.setDisabled(True)
 | 
						||
updateThings.setText("请移步到 Gitee 或 Github 提交 Bug(推荐使用 Gitee)\nWine 运行器 QQ 交流群:762985460")
 | 
						||
widget.setLayout(widgetLayout)
 | 
						||
window.setCentralWidget(widget)
 | 
						||
window.setWindowTitle(f"Wine 运行器 {version} 问题/建议反馈")
 | 
						||
window.setWindowIcon(QtGui.QIcon(iconPath))
 | 
						||
window.show()
 | 
						||
# 设置字体
 | 
						||
SetFont(app)
 | 
						||
sys.exit(app.exec_()) |