mirror of
https://gitee.com/gfdgd-xi/deep-wine-runner
synced 2025-01-12 01:28:28 +08:00
初步云DLL下载完成
This commit is contained in:
parent
cf17caf572
commit
51d471f649
104
InstallDll.py
Normal file
104
InstallDll.py
Normal file
@ -0,0 +1,104 @@
|
||||
#!/usr/bin/env python3
|
||||
# 使用系统默认的 python3 运行
|
||||
###########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 版本:1.8.0
|
||||
# 更新时间:2022年08月24日
|
||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||
# 基于 Python3 构建
|
||||
###########################################################################################
|
||||
#################
|
||||
# 引入所需的库
|
||||
#################
|
||||
import os
|
||||
import sys
|
||||
import json
|
||||
import traceback
|
||||
import requests
|
||||
|
||||
def exit():
|
||||
input("按回车键退出")
|
||||
sys.exit()
|
||||
|
||||
if __name__ == "__main__":
|
||||
if "--help" in sys.argv:
|
||||
print("作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
||||
print("版本:1.0.0")
|
||||
print("本程序可以更方便的在 wine 容器中安装指定应用")
|
||||
sys.exit()
|
||||
if len(sys.argv) <= 1 or sys.argv[1] == "":
|
||||
print("您未指定需要安装的容器,无法继续")
|
||||
print("参数:")
|
||||
print("XXX 参数一")
|
||||
print("参数一为需要安装的容器")
|
||||
sys.exit()
|
||||
print('''
|
||||
mmmm ""# ""#
|
||||
# "m # #
|
||||
# # # #
|
||||
# # # #
|
||||
#mmm" "mm "mm
|
||||
|
||||
|
||||
''')
|
||||
wineBotton = sys.argv[1]
|
||||
if not os.path.exists(f"{wineBotton}/drive_c/windows/Fonts"):
|
||||
input("您选择的不是 Wine 容器")
|
||||
exit()
|
||||
# 判断是不是 wine 容器
|
||||
if not os.path.exists(f"{wineBotton}/drive_c/windows/system32"):
|
||||
print("这不是 Wine 容器")
|
||||
exit()
|
||||
# 获取云列表
|
||||
url = "https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/dlls"
|
||||
print("获取列表中……", end="")
|
||||
try:
|
||||
lists = json.loads(requests.get(f"{url}/list.json").text)
|
||||
except:
|
||||
print("\r列表获取失败!")
|
||||
exit()
|
||||
print("\r列表获取成功!")
|
||||
# 获取用户希望安装的DLL
|
||||
|
||||
while True:
|
||||
print()
|
||||
print("您可以输入DLL名称进行搜索,输入前面编号或DLL全称即可安装(推荐是编号,可以选系统版本)")
|
||||
print("输入exit即可退出")
|
||||
urlPart = ""
|
||||
while True:
|
||||
dllName = input(">")
|
||||
if dllName.lower() == "exit":
|
||||
exit()
|
||||
if dllName in lists:
|
||||
url = dllName
|
||||
break
|
||||
try:
|
||||
dllName = lists[int(dllName)][0]
|
||||
urlPart = f"{url}/{lists[int(dllName)][1]}/{lists[int(dllName)][2]}/{lists[int(dllName)][0]}"
|
||||
break
|
||||
except:
|
||||
pass
|
||||
right = False
|
||||
for i in range(0, len(lists)):
|
||||
if dllName == lists[i][0]:
|
||||
right = True
|
||||
urlPart = f"{url}/{lists[i][1]}/{lists[i][2]}/{lists[i][0]}"
|
||||
break
|
||||
if dllName in lists[i][0]:
|
||||
print(i, lists[i][0], f"平台:{lists[i][1]}", f"架构:{lists[i][2]}")
|
||||
if right:
|
||||
break
|
||||
if os.path.exists(f"{wineBotton}/drive_c/windows/system32/{dllName}"):
|
||||
if input(f"{dllName} 已存在,是否覆盖?(一般不推荐)[Y/N]").upper() == "N":
|
||||
continue
|
||||
try:
|
||||
os.remove(f"{wineBotton}/drive_c/windows/system32/{dllName}")
|
||||
except:
|
||||
print("文件移除失败!")
|
||||
traceback.print_exc()
|
||||
continue
|
||||
# 下载 DLL
|
||||
print(f"正在下载{dllName},请稍后")
|
||||
print(f"下载链接:{urlPart}")
|
||||
if os.system(f"aria2c -x 16 -s 16 -d '{wineBotton}/drive_c/windows/system32' -o '{dllName}' '{urlPart}'"):
|
||||
print("下载失败!请重试")
|
@ -1,7 +1,9 @@
|
||||
#!/usr/bin/env python3
|
||||
import os
|
||||
import sys
|
||||
import json
|
||||
import shutil
|
||||
import requests
|
||||
|
||||
if __name__ == "__main__":
|
||||
if "--help" in sys.argv:
|
||||
@ -31,7 +33,10 @@ if __name__ == "__main__":
|
||||
if not os.path.exists(f"{sys.argv[1]}/drive_c/windows/Fonts"):
|
||||
input("您选择的不是 Wine 容器,无法继续,按回车键退出")
|
||||
exit()
|
||||
fontList = [
|
||||
try:
|
||||
fontList = json.loads(requests.get("https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/fonts/list.json").text)
|
||||
except:
|
||||
fontList = [
|
||||
["fake_simsun.ttc", "https://gitlink.org.cn/api/attachments/392168", "simsun.ttc", "fake_simsun.ttc(会替换容器内的宋体,且与 deepin 有问题)"],
|
||||
["simsun.ttc", "https://gitlink.org.cn/api/attachments/392181", "simsun.ttc", "simsun.ttc"],
|
||||
["simsunb.ttf", "https://gitlink.org.cn/api/attachments/392180", "simsunb.ttf", "simsunb.ttf"],
|
||||
|
@ -12,6 +12,8 @@
|
||||
#################
|
||||
import os
|
||||
import sys
|
||||
import json
|
||||
import requests
|
||||
|
||||
if "--help" in sys.argv:
|
||||
print("作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
||||
@ -35,11 +37,14 @@ print('''
|
||||
|
||||
|
||||
''')
|
||||
msxmlList = [
|
||||
["MSXML 4.0 SP2", "https://www.gitlink.org.cn/api/attachments/390679?gfdgd_xi", "msxml6.0.msi"],
|
||||
["MSXML 4.0 SP3", "https://www.gitlink.org.cn/api/attachments/390678?gfdgd_xi", "msxml4.0SP3.msi"],
|
||||
["MSXML 6.0", "https://www.gitlink.org.cn/api/attachments/390681?gfdgd_xi", "msxml6_x64.msi"]
|
||||
]
|
||||
try:
|
||||
msxmlList = json.loads(requests.get("https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/msxml/list.json").text)
|
||||
except:
|
||||
msxmlList = [
|
||||
["MSXML 4.0 SP2", "https://www.gitlink.org.cn/api/attachments/390679?gfdgd_xi", "msxml6.0.msi"],
|
||||
["MSXML 4.0 SP3", "https://www.gitlink.org.cn/api/attachments/390678?gfdgd_xi", "msxml4.0SP3.msi"],
|
||||
["MSXML 6.0", "https://www.gitlink.org.cn/api/attachments/390681?gfdgd_xi", "msxml6_x64.msi"]
|
||||
]
|
||||
print("请选择以下的 MSXML 进行安装(不保证能正常安装运行)")
|
||||
for i in range(0, len(msxmlList)):
|
||||
print(f"{i}、{msxmlList[i][0]}")
|
||||
|
@ -12,6 +12,8 @@
|
||||
#################
|
||||
import os
|
||||
import sys
|
||||
import json
|
||||
import requests
|
||||
|
||||
if "--help" in sys.argv:
|
||||
print("作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
||||
@ -35,20 +37,23 @@ print('''
|
||||
|
||||
|
||||
''')
|
||||
netList = [
|
||||
["3.5 SP1 Offline Installer", "https://download.visualstudio.microsoft.com/download/pr/b635098a-2d1d-4142-bef6-d237545123cb/2651b87007440a15209cac29634a4e45/dotnetfx35.exe"],
|
||||
["4.0 Offline Installer", "https://download.microsoft.com/download/9/5/A/95A9616B-7A37-4AF6-BC36-D6EA96C8DAAE/dotNetFx40_Full_x86_x64.exe"],
|
||||
["4.5 Web Installer", "https://download.microsoft.com/download/B/A/4/BA4A7E71-2906-4B2D-A0E1-80CF16844F5F/dotNetFx45_Full_setup.exe"],
|
||||
["4.5.1 Offline Installer", "https://download.microsoft.com/download/1/6/7/167F0D79-9317-48AE-AEDB-17120579F8E2/NDP451-KB2858728-x86-x64-AllOS-ENU.exe"],
|
||||
["4.5.2 Offline Installer", "https://download.microsoft.com/download/E/2/1/E21644B5-2DF2-47C2-91BD-63C560427900/NDP452-KB2901907-x86-x64-AllOS-ENU.exe"],
|
||||
["4.6 Offline Installer", "https://download.microsoft.com/download/6/F/9/6F9673B1-87D1-46C4-BF04-95F24C3EB9DA/enu_netfx/NDP46-KB3045557-x86-x64-AllOS-ENU_exe/NDP46-KB3045557-x86-x64-AllOS-ENU.exe"],
|
||||
["4.6.1 Offline Installer", "https://download.microsoft.com/download/E/4/1/E4173890-A24A-4936-9FC9-AF930FE3FA40/NDP461-KB3102436-x86-x64-AllOS-ENU.exe"],
|
||||
["4.6.2 Offline Installer", "https://download.visualstudio.microsoft.com/download/pr/8e396c75-4d0d-41d3-aea8-848babc2736a/80b431456d8866ebe053eb8b81a168b3/ndp462-kb3151800-x86-x64-allos-enu.exe"],
|
||||
["4.7 Offline Installer", "https://download.visualstudio.microsoft.com/download/pr/2dfcc711-bb60-421a-a17b-76c63f8d1907/e5c0231bd5d51fffe65f8ed7516de46a/ndp47-kb3186497-x86-x64-allos-enu.exe"],
|
||||
["4.7.1 Offline Installer", "https://download.visualstudio.microsoft.com/download/pr/4312fa21-59b0-4451-9482-a1376f7f3ba4/9947fce13c11105b48cba170494e787f/ndp471-kb4033342-x86-x64-allos-enu.exe"],
|
||||
["4.7.2 Offline Installer", "https://download.visualstudio.microsoft.com/download/pr/1f5af042-d0e4-4002-9c59-9ba66bcf15f6/089f837de42708daacaae7c04b7494db/ndp472-kb4054530-x86-x64-allos-enu.exe"],
|
||||
["4.8 Offline Installer", "https://download.visualstudio.microsoft.com/download/pr/2d6bb6b2-226a-4baa-bdec-798822606ff1/8494001c276a4b96804cde7829c04d7f/ndp48-x86-x64-allos-enu.exe"]
|
||||
]
|
||||
try:
|
||||
netList = json.loads(requests.get("https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/net/list.json").text)
|
||||
except:
|
||||
netList = [
|
||||
["3.5 SP1 Offline Installer", "https://download.visualstudio.microsoft.com/download/pr/b635098a-2d1d-4142-bef6-d237545123cb/2651b87007440a15209cac29634a4e45/dotnetfx35.exe"],
|
||||
["4.0 Offline Installer", "https://download.microsoft.com/download/9/5/A/95A9616B-7A37-4AF6-BC36-D6EA96C8DAAE/dotNetFx40_Full_x86_x64.exe"],
|
||||
["4.5 Web Installer", "https://download.microsoft.com/download/B/A/4/BA4A7E71-2906-4B2D-A0E1-80CF16844F5F/dotNetFx45_Full_setup.exe"],
|
||||
["4.5.1 Offline Installer", "https://download.microsoft.com/download/1/6/7/167F0D79-9317-48AE-AEDB-17120579F8E2/NDP451-KB2858728-x86-x64-AllOS-ENU.exe"],
|
||||
["4.5.2 Offline Installer", "https://download.microsoft.com/download/E/2/1/E21644B5-2DF2-47C2-91BD-63C560427900/NDP452-KB2901907-x86-x64-AllOS-ENU.exe"],
|
||||
["4.6 Offline Installer", "https://download.microsoft.com/download/6/F/9/6F9673B1-87D1-46C4-BF04-95F24C3EB9DA/enu_netfx/NDP46-KB3045557-x86-x64-AllOS-ENU_exe/NDP46-KB3045557-x86-x64-AllOS-ENU.exe"],
|
||||
["4.6.1 Offline Installer", "https://download.microsoft.com/download/E/4/1/E4173890-A24A-4936-9FC9-AF930FE3FA40/NDP461-KB3102436-x86-x64-AllOS-ENU.exe"],
|
||||
["4.6.2 Offline Installer", "https://download.visualstudio.microsoft.com/download/pr/8e396c75-4d0d-41d3-aea8-848babc2736a/80b431456d8866ebe053eb8b81a168b3/ndp462-kb3151800-x86-x64-allos-enu.exe"],
|
||||
["4.7 Offline Installer", "https://download.visualstudio.microsoft.com/download/pr/2dfcc711-bb60-421a-a17b-76c63f8d1907/e5c0231bd5d51fffe65f8ed7516de46a/ndp47-kb3186497-x86-x64-allos-enu.exe"],
|
||||
["4.7.1 Offline Installer", "https://download.visualstudio.microsoft.com/download/pr/4312fa21-59b0-4451-9482-a1376f7f3ba4/9947fce13c11105b48cba170494e787f/ndp471-kb4033342-x86-x64-allos-enu.exe"],
|
||||
["4.7.2 Offline Installer", "https://download.visualstudio.microsoft.com/download/pr/1f5af042-d0e4-4002-9c59-9ba66bcf15f6/089f837de42708daacaae7c04b7494db/ndp472-kb4054530-x86-x64-allos-enu.exe"],
|
||||
["4.8 Offline Installer", "https://download.visualstudio.microsoft.com/download/pr/2d6bb6b2-226a-4baa-bdec-798822606ff1/8494001c276a4b96804cde7829c04d7f/ndp48-x86-x64-allos-enu.exe"]
|
||||
]
|
||||
print("请选择以下的 .net framework 进行安装(不保证能正常安装运行)")
|
||||
for i in range(0, len(netList)):
|
||||
print(f"{i} .net framework {netList[i][0]}")
|
||||
|
@ -12,6 +12,8 @@
|
||||
#################
|
||||
import os
|
||||
import sys
|
||||
import json
|
||||
import requests
|
||||
|
||||
if "--help" in sys.argv:
|
||||
print("作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
||||
@ -35,10 +37,13 @@ print('''
|
||||
|
||||
|
||||
''')
|
||||
msxmlList = [
|
||||
["Windows Script 5.7 for Windows XP", "https://download.microsoft.com/download/f/f/e/ffea3abf-b55f-4924-b5a5-bde0805ad67c/scripten.exe", "exe", "scripten.exe"],
|
||||
["Windows Management Instrumentation 1.50.1131", "https://www.gitlink.org.cn/api/attachments/390680", "exe", "WMITools.exe"]
|
||||
]
|
||||
try:
|
||||
msxmlList = json.loads(requests.get("https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/other/list.json").text)
|
||||
except:
|
||||
msxmlList = [
|
||||
["Windows Script 5.7 for Windows XP", "https://download.microsoft.com/download/f/f/e/ffea3abf-b55f-4924-b5a5-bde0805ad67c/scripten.exe", "exe", "scripten.exe"],
|
||||
["Windows Management Instrumentation 1.50.1131", "https://www.gitlink.org.cn/api/attachments/390680", "exe", "WMITools.exe"]
|
||||
]
|
||||
print("请选择以下的应用进行安装(不保证能正常安装运行)")
|
||||
for i in range(0, len(msxmlList)):
|
||||
print(f"{i}、{msxmlList[i][0]}")
|
||||
|
@ -12,6 +12,8 @@
|
||||
#################
|
||||
import os
|
||||
import sys
|
||||
import json
|
||||
import requests
|
||||
|
||||
if "--help" in sys.argv:
|
||||
print("作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢")
|
||||
@ -35,14 +37,17 @@ print('''
|
||||
|
||||
|
||||
''')
|
||||
netList = [
|
||||
["2005 Service Pack 1 Redistributable Package MFC 安全更新", "https://download.microsoft.com/download/4/A/2/4A22001F-FA3B-4C13-BF4E-42EC249D51C4/vcredist_x86.EXE", "vcredist05_x86.exe"],
|
||||
["2008 (VC++ 9.0) SP1 (不再支持) ", "https://download.microsoft.com/download/5/D/8/5D8C65CB-C849-4025-8E95-C3966CAFD8AE/vcredist_x86.exe", "vcredist08_x86.exe"],
|
||||
["2010 (VC++ 10.0) SP1 (不再支持) ", "https://download.microsoft.com/download/1/6/5/165255E7-1014-4D0A-B094-B6A430A6BFFC/vcredist_x86.exe", "vcredist10_x86.exe"],
|
||||
["2012 (VC++ 11.0) Update 4", "https://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x86.exe", "vcredist12_x86.exe"],
|
||||
["2013 (VC++ 12.0) ", "https://download.visualstudio.microsoft.com/download/pr/10912113/5da66ddebb0ad32ebd4b922fd82e8e25/vcredist_x86.exe", "vcredist13_x86.exe"],
|
||||
["2015、2017、2019 和 2022", "https://aka.ms/vs/17/release/vc_redist.x86.exe", "vcredist15_x86.exe"]
|
||||
]
|
||||
try:
|
||||
netList = json.loads(requests.get("https://code.gitlink.org.cn/gfdgd_xi/wine-runner-list/raw/branch/master/vscpp/list.json").text)
|
||||
except:
|
||||
netList = [
|
||||
["2005 Service Pack 1 Redistributable Package MFC 安全更新", "https://download.microsoft.com/download/4/A/2/4A22001F-FA3B-4C13-BF4E-42EC249D51C4/vcredist_x86.EXE", "vcredist05_x86.exe"],
|
||||
["2008 (VC++ 9.0) SP1 (不再支持) ", "https://download.microsoft.com/download/5/D/8/5D8C65CB-C849-4025-8E95-C3966CAFD8AE/vcredist_x86.exe", "vcredist08_x86.exe"],
|
||||
["2010 (VC++ 10.0) SP1 (不再支持) ", "https://download.microsoft.com/download/1/6/5/165255E7-1014-4D0A-B094-B6A430A6BFFC/vcredist_x86.exe", "vcredist10_x86.exe"],
|
||||
["2012 (VC++ 11.0) Update 4", "https://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x86.exe", "vcredist12_x86.exe"],
|
||||
["2013 (VC++ 12.0) ", "https://download.visualstudio.microsoft.com/download/pr/10912113/5da66ddebb0ad32ebd4b922fd82e8e25/vcredist_x86.exe", "vcredist13_x86.exe"],
|
||||
["2015、2017、2019 和 2022", "https://aka.ms/vs/17/release/vc_redist.x86.exe", "vcredist15_x86.exe"]
|
||||
]
|
||||
print("请选择以下的 Visual Studio C++ 进行安装(不保证能正常安装运行)")
|
||||
for i in range(0, len(netList)):
|
||||
print(f"{i} Visual Studio C++ {netList[i][0]}")
|
||||
|
BIN
LANG/deepin-wine-packager-en_US.qm
Normal file
BIN
LANG/deepin-wine-packager-en_US.qm
Normal file
Binary file not shown.
200
LANG/deepin-wine-packager-en_US.ts
Normal file
200
LANG/deepin-wine-packager-en_US.ts
Normal file
@ -0,0 +1,200 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1">
|
||||
<context>
|
||||
<name>U</name>
|
||||
<message>
|
||||
<location filename="../deepin-wine-packager.py" line="30"/>
|
||||
<source>选择 wine 容器</source>
|
||||
<translation type="unfinished">Choose Wine Botton</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../deepin-wine-packager.py" line="35"/>
|
||||
<source>选择图标文件</source>
|
||||
<translation type="unfinished">Choose Icon Files</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../deepin-wine-packager.py" line="40"/>
|
||||
<source>保存 deb 包</source>
|
||||
<translation type="unfinished">Save Deb</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../deepin-wine-packager.py" line="103"/>
|
||||
<source>提示</source>
|
||||
<translation type="unfinished">Tips</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../deepin-wine-packager.py" line="103"/>
|
||||
<source>打包将会改动现在选择的容器,是否继续?</source>
|
||||
<translation type="unfinished">Build deb package will change choose botton, are you continuing?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../deepin-wine-packager.py" line="1162"/>
|
||||
<source>浏览……</source>
|
||||
<translation type="unfinished">Browser...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../deepin-wine-packager.py" line="1164"/>
|
||||
<source>打包……</source>
|
||||
<translation type="unfinished">Build...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../deepin-wine-packager.py" line="1165"/>
|
||||
<source>安装打包完成的 deb……</source>
|
||||
<translation type="unfinished">Install Build Deb...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../deepin-wine-packager.py" line="1166"/>
|
||||
<source>根据填写内容打包模板</source>
|
||||
<translation type="unfinished">Build Deb Formwork</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../deepin-wine-packager.py" line="1169"/>
|
||||
<source>设置卸载该 deb 后自动删除该容器</source>
|
||||
<translation type="unfinished">When remove this deb, it will remove botton auto</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../deepin-wine-packager.py" line="1170"/>
|
||||
<source>使用统信 Wine 生态适配活动容器清理脚本</source>
|
||||
<translation type="unfinished">Clean Wine Botton (By UOS Wine Activity Shell)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../deepin-wine-packager.py" line="1177"/>
|
||||
<source>使用星火wine helper
|
||||
(如不勾选默认为deepin-wine-helper)</source>
|
||||
<translation type="unfinished">Use Spark Wine Helper(If you don't checked, will use deepin-wine-helper)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../deepin-wine-packager.py" line="1187"/>
|
||||
<source>要打包的 deb 包的包名(※必填):</source>
|
||||
<translation type="unfinished">Build Deb Package Name(*Must):</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../deepin-wine-packager.py" line="1188"/>
|
||||
<source>要打包的 deb 包的版本号(※必填):</source>
|
||||
<translation type="unfinished">Build Deb Package Version(*Must):</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../deepin-wine-packager.py" line="1189"/>
|
||||
<source>要打包的 deb 包的说明(※必填):</source>
|
||||
<translation type="unfinished">Build Deb Package Description(*Must):</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../deepin-wine-packager.py" line="1190"/>
|
||||
<source>要打包的 deb 包的维护者(※必填):</source>
|
||||
<translation type="unfinished">Build Deb Package Maintainer(*Must):</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../deepin-wine-packager.py" line="1191"/>
|
||||
<source>要解压的 wine 容器的容器名(※必填):</source>
|
||||
<translation type="unfinished">Deb Use Wine Botton Unzip Name(*Must):</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../deepin-wine-packager.py" line="1192"/>
|
||||
<source>要解压的 wine 容器(※必填):</source>
|
||||
<translation type="unfinished">Deb Use Wine Botton Path(*Must):</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../deepin-wine-packager.py" line="1193"/>
|
||||
<source>wine 容器里需要运行的可执行文件路径(※必填):</source>
|
||||
<translation type="unfinished">Deb Use Wine Botton Program Path(*Must):</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../deepin-wine-packager.py" line="1194"/>
|
||||
<source>要显示的 .desktop 文件的分类(※必填):</source>
|
||||
<translation type="unfinished">Program Link Type(*Must):</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../deepin-wine-packager.py" line="1195"/>
|
||||
<source>wine 容器里需要运行的可执行文件的参数(选填):</source>
|
||||
<translation type="unfinished">Deb Use Wine Botton Program Option:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../deepin-wine-packager.py" line="1196"/>
|
||||
<source>要显示的 .desktop 文件的名称(※必填):</source>
|
||||
<translation type="unfinished">Program Link Name(*Must):</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../deepin-wine-packager.py" line="1197"/>
|
||||
<source>要显示的 .desktop 文件的图标(选填):</source>
|
||||
<translation type="unfinished">Program Link Icon Path:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../deepin-wine-packager.py" line="1198"/>
|
||||
<source>选择打包的 wine 版本(※必选):</source>
|
||||
<translation type="unfinished">Build Deb Using Wine Version(*Must):</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../deepin-wine-packager.py" line="1199"/>
|
||||
<source>打包 deb 的保存路径(※必填):</source>
|
||||
<translation type="unfinished">Build Deb Save Path(*Must):</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../deepin-wine-packager.py" line="1220"/>
|
||||
<source>高级设置</source>
|
||||
<translation type="unfinished">More Setting</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../deepin-wine-packager.py" line="1223"/>
|
||||
<source>deb 包的依赖(如无特殊需求默认即可)</source>
|
||||
<translation type="unfinished">Deb Depends</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../deepin-wine-packager.py" line="1225"/>
|
||||
<source>deb 包的推荐依赖(非强制,一般默认即可)</source>
|
||||
<translation type="unfinished">Deb Recommends</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../deepin-wine-packager.py" line="1230"/>
|
||||
<source>Wine 位数(只限本地需要打包集成的Wine):
|
||||
提示:32位的Wine不能使用64位容器</source>
|
||||
<translation type="unfinished">Deb Use Wine Architecture :
|
||||
Tips: X86 Wine is unable to use x86 botton</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../deepin-wine-packager.py" line="1233"/>
|
||||
<source>deb 包选项:</source>
|
||||
<translation type="unfinished">Deb Option:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../deepin-wine-packager.py" line="1237"/>
|
||||
<source>deb 的依赖(强制,如无特殊需求默认即可):</source>
|
||||
<translation type="unfinished">Deb Depends:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../deepin-wine-packager.py" line="1239"/>
|
||||
<source>deb 的推荐依赖(非强制,一般默认即可):</source>
|
||||
<translation type="unfinished">Deb Recommends:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../deepin-wine-packager.py" line="1241"/>
|
||||
<source>要显示的 .desktop 文件的 MimeType:</source>
|
||||
<translation type="unfinished">Program Link MimeType(*Must):</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../deepin-wine-packager.py" line="1243"/>
|
||||
<source>打包 deb 架构:</source>
|
||||
<translation type="unfinished">Build Deb Architecture:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../deepin-wine-packager.py" line="1253"/>
|
||||
<source>程序</source>
|
||||
<translation type="unfinished">Program</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../deepin-wine-packager.py" line="1254"/>
|
||||
<source>帮助</source>
|
||||
<translation type="unfinished">Help</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../deepin-wine-packager.py" line="1255"/>
|
||||
<source>退出程序</source>
|
||||
<translation type="unfinished">Exit Program</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../deepin-wine-packager.py" line="1256"/>
|
||||
<source>小提示</source>
|
||||
<translation type="unfinished">Tips</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
BIN
LANG/virtualmachine-en_US.qm
Normal file
BIN
LANG/virtualmachine-en_US.qm
Normal file
Binary file not shown.
176
LANG/virtualmachine-en_US.ts
Normal file
176
LANG/virtualmachine-en_US.ts
Normal file
@ -0,0 +1,176 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" sourcelanguage="zh">
|
||||
<context>
|
||||
<name>MainWindow</name>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="14"/>
|
||||
<source>Windows 应用适配工具</source>
|
||||
<translation type="unfinished">Windows System Installer By VirtualBox</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="32"/>
|
||||
<location filename="mainwindow.ui" line="35"/>
|
||||
<source>设置</source>
|
||||
<translation type="unfinished">Setting</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="43"/>
|
||||
<source>镜像路径:</source>
|
||||
<translation type="unfinished">ISO Image Path:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="50"/>
|
||||
<source>请选择系统镜像</source>
|
||||
<translation type="unfinished">Input System ISO Image</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="57"/>
|
||||
<source>浏览……</source>
|
||||
<translation type="unfinished">Browser......</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="68"/>
|
||||
<source>系统版本:</source>
|
||||
<translation type="unfinished">System Version:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="78"/>
|
||||
<source>请选择系统类型(如果识别不了请自行选择,如果选择错误或不支持将无法进行自动安装)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="82"/>
|
||||
<source>Windows 7 32 位(支持自动安装)</source>
|
||||
<translation type="unfinished">Windows 7 X86(Support Auto Install)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="87"/>
|
||||
<source>Windows 7 64 位(支持自动安装)</source>
|
||||
<translation type="unfinished">Windows 7 X64(Support Auto Install)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="92"/>
|
||||
<source>其它 Windows 系统(不支持自动安装)</source>
|
||||
<translation type="unfinished">Other Windows(Don't Support Auto Install)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="117"/>
|
||||
<source>安装</source>
|
||||
<translation type="unfinished">Install</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="126"/>
|
||||
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Noto Sans CJK SC'; font-size:10.5pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">使用迅雷或者网盘下载以下任意一个链接然后在上面选择即可:</span></p>
|
||||
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">(如果下载这个,系统版本选第一项,一般推荐这个)ed2k://|file|cn_windows_7_ultimate_with_sp1_x86_dvd_u_677486.iso|2653276160|7503E4B9B8738DFCB95872445C72AEFB|/</span></p>
|
||||
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">(如果下载这个,系统版本选第二项)ed2k://|file|cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso|3420557312|B58548681854236C7939003B583A8078|/</span></p>
|
||||
<hr /></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="141"/>
|
||||
<source>安装/使用帮助</source>
|
||||
<translation type="unfinished">Install/Using Help</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="150"/>
|
||||
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Noto Sans CJK SC'; font-size:10.5pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:26pt; font-weight:600;">给小白的一段话</span></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">其实本质上跑完安装程序就没有然后了,顶多如果想要运行舒服一点点,可以安装加强功能,直接拉到最底下看就可以了</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">如果爱折腾的话,下面的都看看也无所谓的,想看往下翻就可以了</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">(如果鼠标被锁定到里面了按下键盘右边的“Ctrl”键就可以了)</p>
|
||||
<hr />
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:26pt; font-weight:600;"><br /></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:26pt; font-weight:600;"><br /></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:26pt; font-weight:600;"><br /></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:26pt; font-weight:600;"><br /></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:26pt; font-weight:600;"><br /></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:26pt; font-weight:600;"><br /></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:26pt; font-weight:600;"><br /></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:26pt; font-weight:600;"><br /></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:26pt; font-weight:600;"><br /></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:26pt; font-weight:600;"><br /></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:26pt; font-weight:600;"><br /></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:26pt; font-weight:600;"><br /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:26pt; font-weight:600;">安装是否需要人工进行操作?</span></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">如果您下载的镜像本程序支持,则大部分不用,已经尽量省去了让新手头疼的虚拟机程序安装,创建、设置虚拟机,虚拟磁盘分区,寻找原版镜像文件等内容</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图/截图_VirtualBox Machine_20220712191756.png" /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">但有些设置依旧需要人工自行设置,例如安装界面密钥的输入、系统的激活(涉及版权问题,不会考虑省略)、增强功能的安装、需要使用的软件等等</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图/截图_VirtualBox Machine_20220712192850.png" /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图/截图_VirtualBox Machine_20220712193527.png" /></p>
|
||||
<hr />
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:26pt; font-weight:600;">什么样的镜像本程序(可能)不支持自动安装?</span></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">非 Windows 7 镜像可能不支持自动安装(纯的 Windows 7 企业版镜像可能不支持自动安装),不保证系统能自动安装成功,例如 Windows XP、Windows 10、Deepin、Ubuntu 等等</p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
|
||||
<hr />
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:26pt; font-weight:600;">默认的虚拟机设置不习惯怎么改?</span></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">1、打开启动器,打开 Oracle VM VirtualBox 程序</span></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">2、选择名字为“Windows”的虚拟机,然后在右边点击设置</span></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图/截图_VirtualBox Manager_20220712223602.png" /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">3、在这里修改即可</span></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图/截图_VirtualBox_20220712223705.png" /></p>
|
||||
<hr />
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:26pt; font-weight:600;">安装加强功能有什么好处?</span></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">1、支持鼠标自由从虚拟机和实体机切换</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">2、支持虚拟机根据窗口大小自动设置分辨率</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">3、支持文件共享、剪切板共享、文件拖放</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">4、支持无缝模式</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图/截图_选择区域_20220712224639.png" /></p>
|
||||
<hr />
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:26pt; font-weight:600;">如何安装加强功能?</span></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">1、点击“设备”=》“加强功能”</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图_VirtualBox Machine_20220712142929.png" /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">2、打开“计算机”,找到名为“VirtualBox Guest Additions”的光盘,双击进入,然后双击打开名为“VBoxWindowsAdditions”的程序</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图/截图_VirtualBox Machine_20220712143006.png" /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">3、在弹出的界面点击“是”</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图/截图_VirtualBox Machine_20220712143018.png" /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">4、一直点“Next”</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图/截图_VirtualBox Machine_20220712143029.png" /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图/截图_VirtualBox Machine_20220712143037.png" /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">5、全部选择,然后点击“Install”进行安装</span></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图/截图_VirtualBox Machine_20220712143044.png" /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">6、等待安装完毕后,选择“Reboot now”然后点击“Finish”重启此虚拟机即可安装成功(选择“Reboot now”并点“Finish”会自动重新启动)</span></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图/截图_VirtualBox Machine_20220712143103.png" /></p></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="224"/>
|
||||
<location filename="mainwindow.ui" line="313"/>
|
||||
<source>关于</source>
|
||||
<translation type="unfinished">About</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="281"/>
|
||||
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Noto Sans CJK SC'; font-size:10.5pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">此为 wine 运行器附属组件(虽然违背了“Wine Is Not An Emulator”&lt;Wine 不是一个模拟器&gt;的原意),旨在能更加完美、简单的运行 Windows 应用</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">本程序基于 C++ Qt、Python 和 Virtualbox 制作,通过运行安装 Windows 操作系统的虚拟机实现在 Linux 运行 Windows exe 程序的功能。</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">基于 GPL V3 协议开源</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">项目地址:</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> Gitee:<a href="https://gitee.com/gfdgd-xi/deep-wine-runner"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://gitee.com/gfdgd-xi/deep-wine-runner</span></a></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> Github:<a href="https://github.com/gfdgd-xi/deep-wine-runner"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://github.com/gfdgd-xi/deep-wine-runner</span></a></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> Gitlink:<a href="https://gitlink.org.cn/gfdgd_xi/deep-wine-runner"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://gitlink.org.cn/gfdgd_xi/deep-wine-runner</span></a></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">此组件也有非常大的缺点,就是相比于 Wine,会需要占用大量的空间、安装需要大量的时间、某些情况下需要相比于 Wine 需要消耗更多的系统资源,但可以更加完美、流畅的运行 Windows 应用,会尽量减少因为缺少或未实现导致的 Windows exe 程序运行异常</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">该组件制作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢</p>
|
||||
<hr />
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">参考文献:</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Droid Sans Mono','monospace','monospace'; font-size:11pt; color:#6a9955;">https://juejin.cn/post/7080484519328874510</span></p></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="308"/>
|
||||
<source>退出</source>
|
||||
<translation type="unfinished">Exit</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
11
Makefile
11
Makefile
@ -1,17 +1,18 @@
|
||||
build:
|
||||
cd VM-source && qmake
|
||||
cd VM-source && make
|
||||
cd wine && make
|
||||
#cd VM-source && qmake
|
||||
#cd VM-source && make
|
||||
#cd wine && make
|
||||
cp -rv VM-source/VirtualMachine VM
|
||||
cp -rv VM-source/deepin-wine-runner.svg VM
|
||||
cp -rv VM-source/api VM
|
||||
cp -rv VM-source/Windows7X64Auto.iso VM
|
||||
cp -rv VM-source/Windows7X86Auto.iso VM
|
||||
cp -rv VM-source/run.py VM
|
||||
cp -rv wine/installwine deb/opt/apps/deepin-wine-runner/wine
|
||||
zip -v -q -r package-script.zip package-script
|
||||
cp -rv VM deb/opt/apps/deepin-wine-runner
|
||||
mkdir -p deb/opt/apps/deepin-wine-runner/wine
|
||||
cp -rv wine/installwine deb/opt/apps/deepin-wine-runner/wine
|
||||
cp -rv wine/installwine deb/opt/apps/deepin-wine-runner/wine
|
||||
echo "[]" > deb/opt/apps/deepin-wine-runner/wine/winelist.json
|
||||
cp -rv AllInstall.py deb/opt/apps/deepin-wine-runner
|
||||
cp -rv BeCyIconGrabber.exe deb/opt/apps/deepin-wine-runner
|
||||
@ -51,6 +52,8 @@ build:
|
||||
cp -rv cleanbottle.sh deb/opt/apps/deepin-wine-runner
|
||||
cp -rv StartVM.sh deb/opt/apps/deepin-wine-runner
|
||||
cp -rv Icon deb/opt/apps/deepin-wine-runner
|
||||
cp -rv gtkGetFileNameDlg deb/opt/apps/deepin-wine-runner
|
||||
cp -rv LANG/*.qm deb/opt/apps/deepin-wine-runner/LANG
|
||||
dpkg -b deb spark-deepin-wine-runner.deb
|
||||
|
||||
|
||||
|
BIN
VM-source/LANG/virtualmachine-en_US.qm
Normal file
BIN
VM-source/LANG/virtualmachine-en_US.qm
Normal file
Binary file not shown.
176
VM-source/LANG/virtualmachine-en_US.ts
Normal file
176
VM-source/LANG/virtualmachine-en_US.ts
Normal file
@ -0,0 +1,176 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" sourcelanguage="zh_CN">
|
||||
<context>
|
||||
<name>MainWindow</name>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="14"/>
|
||||
<source>Windows 应用适配工具</source>
|
||||
<translation type="unfinished">Windows System Installer By VirtualBox</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="32"/>
|
||||
<location filename="mainwindow.ui" line="35"/>
|
||||
<source>设置</source>
|
||||
<translation type="unfinished">Setting</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="43"/>
|
||||
<source>镜像路径:</source>
|
||||
<translation type="unfinished">ISO Image Path:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="50"/>
|
||||
<source>请选择系统镜像</source>
|
||||
<translation type="unfinished">Input System ISO Image</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="57"/>
|
||||
<source>浏览……</source>
|
||||
<translation type="unfinished">Browser......</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="68"/>
|
||||
<source>系统版本:</source>
|
||||
<translation type="unfinished">System Version:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="78"/>
|
||||
<source>请选择系统类型(如果识别不了请自行选择,如果选择错误或不支持将无法进行自动安装)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="82"/>
|
||||
<source>Windows 7 32 位(支持自动安装)</source>
|
||||
<translation type="unfinished">Windows 7 X86(Support Auto Install)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="87"/>
|
||||
<source>Windows 7 64 位(支持自动安装)</source>
|
||||
<translation type="unfinished">Windows 7 X64(Support Auto Install)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="92"/>
|
||||
<source>其它 Windows 系统(不支持自动安装)</source>
|
||||
<translation type="unfinished">Other Windows(Don't Support Auto Install)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="117"/>
|
||||
<source>安装</source>
|
||||
<translation type="unfinished">Install</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="126"/>
|
||||
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Noto Sans CJK SC'; font-size:10.5pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">使用迅雷或者网盘下载以下任意一个链接然后在上面选择即可:</span></p>
|
||||
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">(如果下载这个,系统版本选第一项,一般推荐这个)ed2k://|file|cn_windows_7_ultimate_with_sp1_x86_dvd_u_677486.iso|2653276160|7503E4B9B8738DFCB95872445C72AEFB|/</span></p>
|
||||
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">(如果下载这个,系统版本选第二项)ed2k://|file|cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso|3420557312|B58548681854236C7939003B583A8078|/</span></p>
|
||||
<hr /></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="141"/>
|
||||
<source>安装/使用帮助</source>
|
||||
<translation type="unfinished">Install/Using Help</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="150"/>
|
||||
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Noto Sans CJK SC'; font-size:10.5pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:26pt; font-weight:600;">给小白的一段话</span></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">其实本质上跑完安装程序就没有然后了,顶多如果想要运行舒服一点点,可以安装加强功能,直接拉到最底下看就可以了</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">如果爱折腾的话,下面的都看看也无所谓的,想看往下翻就可以了</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">(如果鼠标被锁定到里面了按下键盘右边的“Ctrl”键就可以了)</p>
|
||||
<hr />
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:26pt; font-weight:600;"><br /></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:26pt; font-weight:600;"><br /></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:26pt; font-weight:600;"><br /></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:26pt; font-weight:600;"><br /></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:26pt; font-weight:600;"><br /></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:26pt; font-weight:600;"><br /></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:26pt; font-weight:600;"><br /></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:26pt; font-weight:600;"><br /></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:26pt; font-weight:600;"><br /></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:26pt; font-weight:600;"><br /></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:26pt; font-weight:600;"><br /></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:26pt; font-weight:600;"><br /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:26pt; font-weight:600;">安装是否需要人工进行操作?</span></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">如果您下载的镜像本程序支持,则大部分不用,已经尽量省去了让新手头疼的虚拟机程序安装,创建、设置虚拟机,虚拟磁盘分区,寻找原版镜像文件等内容</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图/截图_VirtualBox Machine_20220712191756.png" /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">但有些设置依旧需要人工自行设置,例如安装界面密钥的输入、系统的激活(涉及版权问题,不会考虑省略)、增强功能的安装、需要使用的软件等等</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图/截图_VirtualBox Machine_20220712192850.png" /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图/截图_VirtualBox Machine_20220712193527.png" /></p>
|
||||
<hr />
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:26pt; font-weight:600;">什么样的镜像本程序(可能)不支持自动安装?</span></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">非 Windows 7 镜像可能不支持自动安装(纯的 Windows 7 企业版镜像可能不支持自动安装),不保证系统能自动安装成功,例如 Windows XP、Windows 10、Deepin、Ubuntu 等等</p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
|
||||
<hr />
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:26pt; font-weight:600;">默认的虚拟机设置不习惯怎么改?</span></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">1、打开启动器,打开 Oracle VM VirtualBox 程序</span></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">2、选择名字为“Windows”的虚拟机,然后在右边点击设置</span></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图/截图_VirtualBox Manager_20220712223602.png" /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">3、在这里修改即可</span></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图/截图_VirtualBox_20220712223705.png" /></p>
|
||||
<hr />
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:26pt; font-weight:600;">安装加强功能有什么好处?</span></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">1、支持鼠标自由从虚拟机和实体机切换</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">2、支持虚拟机根据窗口大小自动设置分辨率</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">3、支持文件共享、剪切板共享、文件拖放</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">4、支持无缝模式</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图/截图_选择区域_20220712224639.png" /></p>
|
||||
<hr />
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:26pt; font-weight:600;">如何安装加强功能?</span></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">1、点击“设备”=》“加强功能”</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图_VirtualBox Machine_20220712142929.png" /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">2、打开“计算机”,找到名为“VirtualBox Guest Additions”的光盘,双击进入,然后双击打开名为“VBoxWindowsAdditions”的程序</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图/截图_VirtualBox Machine_20220712143006.png" /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">3、在弹出的界面点击“是”</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图/截图_VirtualBox Machine_20220712143018.png" /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">4、一直点“Next”</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图/截图_VirtualBox Machine_20220712143029.png" /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图/截图_VirtualBox Machine_20220712143037.png" /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">5、全部选择,然后点击“Install”进行安装</span></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图/截图_VirtualBox Machine_20220712143044.png" /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">6、等待安装完毕后,选择“Reboot now”然后点击“Finish”重启此虚拟机即可安装成功(选择“Reboot now”并点“Finish”会自动重新启动)</span></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图/截图_VirtualBox Machine_20220712143103.png" /></p></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="224"/>
|
||||
<location filename="mainwindow.ui" line="313"/>
|
||||
<source>关于</source>
|
||||
<translation type="unfinished">About</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="281"/>
|
||||
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Noto Sans CJK SC'; font-size:10.5pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">此为 wine 运行器附属组件(虽然违背了“Wine Is Not An Emulator”&lt;Wine 不是一个模拟器&gt;的原意),旨在能更加完美、简单的运行 Windows 应用</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">本程序基于 C++ Qt、Python 和 Virtualbox 制作,通过运行安装 Windows 操作系统的虚拟机实现在 Linux 运行 Windows exe 程序的功能。</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">基于 GPL V3 协议开源</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">项目地址:</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> Gitee:<a href="https://gitee.com/gfdgd-xi/deep-wine-runner"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://gitee.com/gfdgd-xi/deep-wine-runner</span></a></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> Github:<a href="https://github.com/gfdgd-xi/deep-wine-runner"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://github.com/gfdgd-xi/deep-wine-runner</span></a></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> Gitlink:<a href="https://gitlink.org.cn/gfdgd_xi/deep-wine-runner"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://gitlink.org.cn/gfdgd_xi/deep-wine-runner</span></a></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">此组件也有非常大的缺点,就是相比于 Wine,会需要占用大量的空间、安装需要大量的时间、某些情况下需要相比于 Wine 需要消耗更多的系统资源,但可以更加完美、流畅的运行 Windows 应用,会尽量减少因为缺少或未实现导致的 Windows exe 程序运行异常</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">该组件制作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢</p>
|
||||
<hr />
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">参考文献:</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Droid Sans Mono','monospace','monospace'; font-size:11pt; color:#6a9955;">https://juejin.cn/post/7080484519328874510</span></p></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="308"/>
|
||||
<source>退出</source>
|
||||
<translation type="unfinished">Exit</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
@ -402,6 +402,7 @@ distdir: FORCE
|
||||
$(COPY_FILE) --parents mainwindow.h $(DISTDIR)/
|
||||
$(COPY_FILE) --parents main.cpp mainwindow.cpp $(DISTDIR)/
|
||||
$(COPY_FILE) --parents mainwindow.ui $(DISTDIR)/
|
||||
$(COPY_FILE) --parents zh_CN.ts en_US.ts $(DISTDIR)/
|
||||
|
||||
|
||||
clean: compiler_clean
|
||||
@ -444,7 +445,9 @@ qrc_图标.cpp: 图标.qrc \
|
||||
截图/截图_VirtualBox\ Machine_20220712143037.png \
|
||||
截图/截图_VirtualBox_20220712223705.png \
|
||||
截图/截图_VirtualBox\ Machine_20220712143006.png \
|
||||
截图/截图_VirtualBox\ Machine_20220712191756.png
|
||||
截图/截图_VirtualBox\ Machine_20220712191756.png \
|
||||
LANG/virtualmachine-en_US.ts \
|
||||
LANG/virtualmachine-en_US.qm
|
||||
/usr/lib/qt5/bin/rcc -name 图标 图标.qrc -o qrc_图标.cpp
|
||||
|
||||
compiler_moc_predefs_make_all: moc_predefs.h
|
||||
|
Binary file not shown.
@ -5,6 +5,8 @@
|
||||
#-------------------------------------------------
|
||||
|
||||
QT += core gui
|
||||
TRANSLATIONS += zh_CN.ts\
|
||||
en_US.ts
|
||||
|
||||
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
|
||||
|
||||
|
@ -1,10 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 4.8.2, 2022-07-27T22:35:09. -->
|
||||
<!-- Written by QtCreator 4.8.2, 2022-08-22T21:48:17. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
<value type="QByteArray">{f2c8d716-7409-4b6a-a949-e01d13120d3a}</value>
|
||||
<value type="QByteArray">{e6fddbe7-fcb3-41be-bb11-3a30892600b9}</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
||||
@ -64,68 +64,12 @@
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">桌面</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">桌面</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{c19ffccf-bd9e-4c0f-b3ec-050420072cca}</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{b6becee2-04dc-4df3-9a41-75e9b60eccc8}</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/gfdgd_xi/build-VirtualMachine-unknown-Debug</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/gfdgd_xi/build-VirtualMachine-unknown-Release</value>
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/gfdgd_xi/Desktop/deep-wine-runner/VM-source</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
@ -180,63 +124,7 @@
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/gfdgd_xi/build-VirtualMachine-unknown-Profile</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
|
||||
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||
@ -306,7 +194,7 @@
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory"></value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/gfdgd_xi/build-VirtualMachine-unknown-Debug</value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/gfdgd_xi/Desktop/deep-wine-runner/VM-source</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||
</valuemap>
|
||||
|
326
VM-source/VirtualMachine.pro.user.f2c8d71
Executable file
326
VM-source/VirtualMachine.pro.user.f2c8d71
Executable file
@ -0,0 +1,326 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 4.8.2, 2022-07-27T22:35:09. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
<value type="QByteArray">{f2c8d716-7409-4b6a-a949-e01d13120d3a}</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
||||
<value type="int">0</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.EditorSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
|
||||
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
|
||||
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
|
||||
<value type="QString" key="language">Cpp</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
|
||||
<value type="QString" key="language">QmlJS</value>
|
||||
<valuemap type="QVariantMap" key="value">
|
||||
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
|
||||
</valuemap>
|
||||
</valuemap>
|
||||
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
|
||||
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
|
||||
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.IndentSize">4</value>
|
||||
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
|
||||
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
|
||||
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
|
||||
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
|
||||
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
|
||||
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
|
||||
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
|
||||
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
|
||||
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
|
||||
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
|
||||
<value type="int" key="EditorConfiguration.TabSize">8</value>
|
||||
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
|
||||
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
|
||||
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
|
||||
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
|
||||
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.PluginSettings</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey"/>
|
||||
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Target.0</variable>
|
||||
<valuemap type="QVariantMap">
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">桌面</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">桌面</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{c19ffccf-bd9e-4c0f-b3ec-050420072cca}</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
|
||||
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/gfdgd_xi/build-VirtualMachine-unknown-Debug</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/gfdgd_xi/build-VirtualMachine-unknown-Release</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">false</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Release</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
|
||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/gfdgd_xi/build-VirtualMachine-unknown-Profile</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">qmake</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QtProjectManager.QMakeBuildStep</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.LinkQmlDebuggingLibrary">true</value>
|
||||
<value type="QString" key="QtProjectManager.QMakeBuildStep.QMakeArguments"></value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.SeparateDebugInfo">true</value>
|
||||
<value type="bool" key="QtProjectManager.QMakeBuildStep.UseQtQuickCompiler">false</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">false</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments"></value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
|
||||
</valuemap>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Make</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</value>
|
||||
<valuelist type="QVariantList" key="Qt4ProjectManager.MakeStep.BuildTargets"/>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.Clean">true</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</value>
|
||||
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeCommand"></value>
|
||||
<value type="bool" key="Qt4ProjectManager.MakeStep.OverrideMakeflags">false</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
|
||||
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
|
||||
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Profile</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4BuildConfiguration</value>
|
||||
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">0</value>
|
||||
<value type="bool" key="Qt4ProjectManager.Qt4BuildConfiguration.UseShadowBuild">true</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">3</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">部署</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy Configuration</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
|
||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
|
||||
<value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
|
||||
<value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
|
||||
<value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
|
||||
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
|
||||
<value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
|
||||
<value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
|
||||
<value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
|
||||
<value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
|
||||
<value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
|
||||
<value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
|
||||
<value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
|
||||
<valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
|
||||
<value type="int">0</value>
|
||||
<value type="int">1</value>
|
||||
<value type="int">2</value>
|
||||
<value type="int">3</value>
|
||||
<value type="int">4</value>
|
||||
<value type="int">5</value>
|
||||
<value type="int">6</value>
|
||||
<value type="int">7</value>
|
||||
<value type="int">8</value>
|
||||
<value type="int">9</value>
|
||||
<value type="int">10</value>
|
||||
<value type="int">11</value>
|
||||
<value type="int">12</value>
|
||||
<value type="int">13</value>
|
||||
<value type="int">14</value>
|
||||
</valuelist>
|
||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">VirtualMachine</value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
|
||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/gfdgd_xi/Desktop/deep-wine-runner/VM-source/VirtualMachine.pro</value>
|
||||
<value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">VirtualMachine.pro</value>
|
||||
<value type="QString" key="RunConfiguration.Arguments"></value>
|
||||
<value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
|
||||
<value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory"></value>
|
||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/gfdgd_xi/build-VirtualMachine-unknown-Debug</value>
|
||||
</valuemap>
|
||||
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||
</valuemap>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.TargetCount</variable>
|
||||
<value type="int">1</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
|
||||
<value type="int">20</value>
|
||||
</data>
|
||||
<data>
|
||||
<variable>Version</variable>
|
||||
<value type="int">20</value>
|
||||
</data>
|
||||
</qtcreator>
|
@ -1,10 +1,18 @@
|
||||
#include "mainwindow.h"
|
||||
#include <QApplication>
|
||||
#include <QTranslator>
|
||||
#include <QCoreApplication>
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
QApplication a(argc, argv);
|
||||
// 语言
|
||||
QTranslator *trans = new QTranslator(&a);
|
||||
trans->load("virtualmachine-en_US.qm");
|
||||
|
||||
a.installTranslator(trans);
|
||||
MainWindow w;
|
||||
|
||||
w.show();
|
||||
|
||||
return a.exec();
|
||||
|
BIN
VM-source/main.o
Executable file → Normal file
BIN
VM-source/main.o
Executable file → Normal file
Binary file not shown.
0
VM-source/mainwindow.o
Executable file → Normal file
0
VM-source/mainwindow.o
Executable file → Normal file
25
VM-source/moc_mainwindow.cpp
Executable file → Normal file
25
VM-source/moc_mainwindow.cpp
Executable file → Normal file
@ -1,18 +1,19 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'mainwindow.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.11.3)
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.3)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "mainwindow.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'mainwindow.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.11.3. It"
|
||||
#error "This file was generated using the moc from 5.15.3. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
@ -45,7 +46,7 @@ QT_MOC_LITERAL(3, 31, 18) // "on_install_clicked"
|
||||
static const uint qt_meta_data_MainWindow[] = {
|
||||
|
||||
// content:
|
||||
7, // revision
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
2, 14, // methods
|
||||
@ -69,21 +70,25 @@ static const uint qt_meta_data_MainWindow[] = {
|
||||
void MainWindow::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
MainWindow *_t = static_cast<MainWindow *>(_o);
|
||||
Q_UNUSED(_t)
|
||||
auto *_t = static_cast<MainWindow *>(_o);
|
||||
(void)_t;
|
||||
switch (_id) {
|
||||
case 0: _t->on_browser_clicked(); break;
|
||||
case 1: _t->on_install_clicked(); break;
|
||||
default: ;
|
||||
}
|
||||
}
|
||||
Q_UNUSED(_a);
|
||||
(void)_a;
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject MainWindow::staticMetaObject = {
|
||||
{ &QMainWindow::staticMetaObject, qt_meta_stringdata_MainWindow.data,
|
||||
qt_meta_data_MainWindow, qt_static_metacall, nullptr, nullptr}
|
||||
};
|
||||
QT_INIT_METAOBJECT const QMetaObject MainWindow::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QMainWindow::staticMetaObject>(),
|
||||
qt_meta_stringdata_MainWindow.data,
|
||||
qt_meta_data_MainWindow,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *MainWindow::metaObject() const
|
||||
|
BIN
VM-source/moc_mainwindow.o
Executable file → Normal file
BIN
VM-source/moc_mainwindow.o
Executable file → Normal file
Binary file not shown.
0
VM-source/moc_predefs.h
Executable file → Normal file
0
VM-source/moc_predefs.h
Executable file → Normal file
389
VM-source/qrc_图标.cpp
Executable file → Normal file
389
VM-source/qrc_图标.cpp
Executable file → Normal file
@ -215225,11 +215225,330 @@ static const unsigned char qt_resource_data[] = {
|
||||
0x86,0x8f,0xd1,0x47,0x6,0x6b,0x3f,0xfc,0x1b,0xa4,0xc4,0xc0,0xc0,0xc0,0xc0,0xc0,
|
||||
0xc0,0xc0,0xe0,0xff,0x1f,0xfc,0x1f,0x99,0x5,0xa7,0x71,0x96,0x53,0x3b,0xbf,0x0,
|
||||
0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82,
|
||||
// /home/gfdgd_xi/Desktop/deep-wine-runner/VM-source/LANG/virtualmachine-en_US.ts
|
||||
0x0,0x0,0xe,0x9,
|
||||
0x0,
|
||||
0x0,0x55,0xfc,0x78,0x9c,0xed,0x5c,0xe9,0x53,0x1b,0x47,0x16,0xff,0x9e,0xbf,0x62,
|
||||
0x96,0xad,0x72,0x65,0x2b,0x1,0xdd,0x7,0x18,0x3b,0x65,0xb0,0x93,0x78,0xd7,0xd7,
|
||||
0x6,0xc7,0xc9,0x7e,0xa2,0x4,0x1a,0x90,0x12,0x69,0xa4,0x48,0xa3,0x0,0x59,0x6f,
|
||||
0x95,0x38,0x84,0x24,0x90,0x10,0xb6,0xb9,0x11,0x97,0x3,0xb6,0xe2,0xd8,0x12,0x8e,
|
||||
0x31,0x87,0x2e,0xfe,0x17,0x67,0xba,0x67,0xf4,0xc9,0xff,0xc2,0xbe,0x9e,0x1e,0x1d,
|
||||
0x60,0x61,0x8c,0x63,0x62,0xe1,0x40,0xa9,0x8a,0x51,0x4f,0x1f,0xef,0xf7,0xde,0x9b,
|
||||
0x77,0x75,0x8f,0x9a,0x3f,0xeb,0x75,0x3a,0x98,0x1f,0x59,0x8f,0xd7,0xee,0xe2,0xce,
|
||||
0xd5,0x69,0x1a,0xd4,0x75,0xc,0xcb,0x75,0xba,0xac,0x76,0xae,0xfb,0x5c,0x9d,0x8f,
|
||||
0xef,0xaa,0x37,0xd7,0x7d,0x76,0xfe,0xa3,0xe6,0xbf,0x5d,0xbc,0xde,0x7a,0xf3,0x3f,
|
||||
0x37,0x2e,0x31,0x37,0xdb,0xe0,0xdb,0xcd,0xb6,0xf2,0x10,0x6d,0x83,0xa6,0x8e,0xf1,
|
||||
0xba,0x7c,0x9e,0x4e,0xd6,0x61,0xe1,0xba,0x7d,0x96,0x6e,0xf6,0x5c,0xdd,0x4f,0xb6,
|
||||
0xf6,0xd6,0x6b,0x75,0xd0,0xb3,0xd3,0xc5,0xf1,0x6c,0x2f,0x7f,0xfe,0x23,0x6,0xfe,
|
||||
0x9a,0x39,0x8b,0x93,0x3d,0x7f,0xd5,0x62,0xe7,0xbe,0xb1,0x73,0x56,0x57,0x4f,0xb3,
|
||||
0x4a,0x6e,0xa0,0xf7,0x9c,0xac,0xd7,0xb,0x63,0xe9,0x37,0xb9,0xc5,0xe1,0xea,0xb4,
|
||||
0xf0,0xb0,0x6,0xd3,0x65,0x77,0xb0,0xa4,0xe7,0xb9,0x3a,0x27,0x8c,0xed,0x91,0xc7,
|
||||
0x36,0xf8,0xec,0x75,0x8c,0xc3,0xce,0x41,0xa3,0x46,0x5f,0xa7,0xaa,0x18,0x46,0x69,
|
||||
0x39,0x4f,0x97,0xf0,0x32,0x28,0x3d,0x21,0x4e,0x24,0xa,0xfe,0x81,0x42,0x20,0x8a,
|
||||
0xb6,0xd6,0x50,0x60,0xab,0x59,0xa5,0x74,0x29,0x8f,0xe1,0x3d,0x16,0xce,0xeb,0xa0,
|
||||
0xab,0xf1,0x7d,0x6e,0x98,0xd4,0xc7,0x75,0xd9,0x39,0xbb,0xd7,0xc6,0x5a,0xeb,0x4a,
|
||||
0x53,0xb5,0xf5,0x79,0x79,0xd6,0xc9,0x5c,0xe6,0xbc,0xbc,0xc5,0xe1,0x60,0x3d,0x4c,
|
||||
0x4b,0x1f,0x73,0xcb,0xee,0xe1,0x7d,0x16,0x47,0x8b,0xab,0xb7,0x59,0x55,0x31,0x8b,
|
||||
0x2,0x4a,0xb5,0x7,0xd5,0x1f,0xc0,0xa8,0xd3,0xee,0xc1,0xf8,0xc6,0xc3,0xc,0xd5,
|
||||
0x58,0x23,0x25,0xf3,0x62,0x2e,0x79,0x64,0x36,0xb4,0xb1,0x3c,0xf,0x6a,0x71,0xac,
|
||||
0x38,0xf5,0xba,0x6a,0x4,0x17,0x26,0xe3,0x68,0x30,0x26,0x6d,0xa5,0x50,0x7e,0xe8,
|
||||
0x65,0x76,0xee,0xc8,0x94,0x5f,0x6e,0xbb,0xce,0x5c,0x76,0x2,0x45,0xcc,0xd,0xb,
|
||||
0x6f,0x6b,0x3a,0x56,0x4,0x6,0x75,0x55,0x96,0xa7,0xb6,0xa,0xfe,0x30,0x1e,0xfd,
|
||||
0x45,0x7c,0x96,0x11,0x33,0x4b,0x14,0xd0,0xd1,0x71,0x70,0x6e,0x1f,0x5f,0x52,0xc3,
|
||||
0x22,0xa8,0xe3,0x85,0x63,0xaa,0x6,0x7,0x3f,0x8f,0x49,0xf,0x43,0x2f,0xfc,0xf,
|
||||
0xe0,0x73,0x64,0x14,0x2d,0x1e,0x78,0x98,0x58,0x4f,0x83,0xfc,0x77,0xac,0xc4,0x1b,
|
||||
0xcd,0xd5,0x88,0xa7,0x22,0x10,0xc3,0x21,0x1c,0x7f,0xfc,0x36,0xda,0xa4,0xf0,0xff,
|
||||
0x16,0xb5,0x80,0xc7,0xab,0x4d,0xa6,0xaa,0x8,0xf6,0x69,0x93,0xf8,0x34,0x83,0x16,
|
||||
0x47,0x5f,0x66,0x43,0xe8,0xc1,0x0,0x5e,0x8c,0x4b,0xa9,0x61,0x14,0xfa,0x55,0xd8,
|
||||
0x8e,0xa,0xe9,0x61,0xe8,0x29,0x5,0x1f,0x49,0x2b,0x11,0xda,0xff,0x65,0x36,0x42,
|
||||
0xfb,0xd0,0xaf,0x85,0x89,0x59,0x29,0x95,0xc2,0xa1,0x29,0xe8,0x8c,0x27,0x52,0x38,
|
||||
0xd2,0x8f,0xd6,0x87,0xf1,0xf4,0x32,0x7e,0x36,0x29,0xed,0xce,0xc3,0x28,0x18,0x8b,
|
||||
0x46,0x12,0x28,0x19,0x96,0x7e,0xe,0xbc,0xcc,0x86,0x8f,0xcc,0xaa,0x63,0xe5,0x8d,
|
||||
0x59,0xfb,0x3a,0xbb,0x6f,0x62,0x74,0x5a,0x46,0xc8,0x45,0x81,0x2d,0x14,0xda,0x1f,
|
||||
0xc5,0x52,0x9e,0xf8,0x5b,0xb3,0xf1,0xe3,0x36,0x9f,0xdb,0xed,0xf2,0xf0,0xcc,0x5,
|
||||
0x1f,0xef,0x2a,0x7a,0x84,0x7f,0x1c,0x2f,0xdc,0xaa,0x4f,0x62,0x99,0x2a,0xa3,0xfe,
|
||||
0xb8,0xe0,0x1a,0xf5,0xef,0x1,0x6e,0x63,0x55,0xe9,0xa2,0xc0,0x26,0x4a,0xe,0x32,
|
||||
0x45,0xe2,0xa8,0xfe,0x3,0xe6,0x92,0x2,0xff,0x51,0xd8,0xd7,0x79,0x1b,0x38,0x76,
|
||||
0x65,0xfe,0x8f,0x2f,0xba,0xb8,0x33,0x16,0xb7,0xcb,0x7b,0x16,0xac,0xee,0x9f,0xce,
|
||||
0x1,0x8d,0xa6,0xaa,0xc4,0x29,0xb6,0xb7,0xf0,0x1d,0x32,0xc9,0xc7,0x4b,0xb1,0xd6,
|
||||
0x58,0x8d,0xe2,0x33,0xe,0xfe,0x6c,0x29,0x80,0xfc,0xf2,0xe6,0xd5,0x2b,0xcc,0x8d,
|
||||
0xaf,0x5b,0xae,0x5c,0x6e,0x65,0xce,0xfc,0xe0,0x73,0xf1,0x67,0xeb,0x55,0xaa,0x6f,
|
||||
0x74,0xad,0x2a,0xd5,0xc5,0x9b,0x17,0xe9,0x5d,0x7d,0x83,0x5a,0xa5,0xba,0x74,0x8d,
|
||||
0xde,0x55,0x3a,0xd9,0x78,0xde,0xdd,0xa4,0x52,0xf5,0xf4,0xf4,0x34,0xf4,0xe8,0x1a,
|
||||
0x5c,0x9e,0x6e,0xd5,0xcd,0xaf,0x54,0x5f,0x5d,0x6a,0xad,0xb7,0xf1,0x4e,0x87,0x5e,
|
||||
0xad,0xf2,0xf2,0x1e,0x7b,0x27,0xdf,0x60,0xe5,0xad,0xb4,0xff,0x99,0x6e,0xfe,0xec,
|
||||
0x47,0x64,0x61,0x72,0x9f,0x7c,0x91,0xaf,0x59,0x8b,0xb5,0x78,0xed,0x64,0x79,0xb,
|
||||
0x23,0x63,0xa1,0x3,0x7e,0x80,0xf1,0x36,0x12,0xab,0x2a,0xcb,0xca,0x91,0x2b,0xc7,
|
||||
0x2b,0x77,0x35,0x4a,0xab,0xaa,0x38,0xdc,0xcb,0xf7,0x39,0x58,0xca,0x66,0x7a,0x8b,
|
||||
0xc,0x55,0x75,0x7a,0xbd,0x15,0xcb,0xbb,0x3f,0x5,0xbe,0x30,0xff,0x65,0x7a,0x6c,
|
||||
0x76,0x9e,0xad,0xf7,0xba,0x2d,0x9d,0x6c,0x13,0xe3,0xf6,0xb0,0xf5,0x3d,0x1e,0x8b,
|
||||
0xfb,0x2c,0xf3,0x3f,0x99,0x3e,0x95,0x3c,0x53,0x71,0x5a,0x55,0x25,0x89,0x1d,0x2e,
|
||||
0x6b,0x1f,0x23,0xdf,0x56,0xd6,0x60,0xba,0x80,0xa8,0xfa,0x2e,0x8b,0xd3,0xee,0xe8,
|
||||
0x6b,0xa2,0x8a,0x79,0xcd,0x5,0xea,0xd8,0x6,0x12,0x65,0x5a,0xff,0xf9,0x2f,0xa6,
|
||||
0xad,0x95,0xb6,0x2a,0x3d,0xbd,0xf6,0x9f,0xd8,0x26,0x8d,0xba,0xc1,0xe0,0x2e,0x8e,
|
||||
0xed,0x61,0xed,0xdd,0x36,0xbe,0x49,0xaf,0x56,0x17,0xbb,0x90,0xe9,0x9b,0x38,0x97,
|
||||
0xc7,0x69,0x71,0x9c,0xdd,0xc7,0x3a,0xf7,0xde,0xc5,0x9d,0x16,0x4f,0xb7,0x9d,0xab,
|
||||
0xe7,0x5d,0xee,0x26,0x8d,0xd6,0xdd,0x5b,0x6a,0xe8,0x70,0xf1,0xbc,0xcb,0xb9,0xb7,
|
||||
0xcd,0xc1,0x76,0xf1,0x4d,0xea,0x8a,0x6,0x8f,0xbc,0xae,0xdc,0x52,0xff,0x3,0x5f,
|
||||
0xdf,0x1,0x2a,0xf5,0x7d,0x3d,0xe8,0xf,0xb0,0xb8,0x9,0x68,0x21,0xdc,0x2b,0x7d,
|
||||
0x85,0x4e,0x65,0x4a,0x64,0x66,0xbb,0x2d,0x5c,0x15,0x46,0x28,0xf0,0x0,0x5c,0xb9,
|
||||
0xbb,0x90,0xdb,0x85,0x70,0x5f,0xda,0xd,0x14,0xe6,0xb7,0xc0,0xb1,0x49,0xfe,0x80,
|
||||
0x98,0xbb,0x23,0xce,0xcf,0x8,0xdb,0xa3,0x52,0x2e,0x27,0x64,0xd6,0xe0,0x42,0xc8,
|
||||
0x64,0xf0,0x50,0x4c,0xd8,0xf6,0xb,0xdb,0x8f,0xa,0xf7,0xf2,0x78,0x6c,0x4d,0x1c,
|
||||
0xda,0x44,0xe3,0x63,0x28,0x9e,0x10,0xb6,0x47,0xa,0xb,0xf7,0xa9,0x77,0x44,0xd1,
|
||||
0x67,0x28,0x96,0x82,0x8,0x81,0x8a,0x9,0x68,0x28,0x49,0xc9,0x7d,0xa2,0x79,0x54,
|
||||
0x8a,0x14,0x28,0x53,0xa4,0xdd,0x59,0x60,0x4,0x84,0x6,0x95,0x81,0x11,0xb0,0x40,
|
||||
0x7c,0xfc,0x18,0x78,0x54,0x58,0xd9,0x81,0x5b,0x70,0x21,0x85,0x1e,0xe3,0xb1,0x84,
|
||||
0x14,0x1d,0x2f,0xf6,0xf,0xb3,0x56,0xed,0xf7,0xf0,0x4c,0xde,0x26,0x56,0xe1,0x76,
|
||||
0x27,0xd7,0x4e,0xed,0x81,0xb7,0xdd,0xd4,0xee,0x73,0xf0,0x76,0xa7,0x85,0x67,0xa1,
|
||||
0x89,0xb7,0xb5,0x7b,0xdd,0x9a,0xf6,0x5e,0xb3,0xb1,0xdd,0xfa,0xa3,0xb5,0xdd,0xd7,
|
||||
0x6e,0x34,0x99,0xf4,0x66,0x63,0x83,0xdd,0xeb,0xba,0xad,0x35,0x1a,0x74,0x5a,0x93,
|
||||
0x51,0x63,0x54,0xdf,0x36,0x19,0xd4,0xba,0x4b,0xfa,0x96,0xc6,0x16,0xb3,0x49,0x67,
|
||||
0xbe,0xf8,0x79,0x6b,0x4b,0xa3,0xc1,0x6c,0xd2,0xea,0xf5,0x86,0x56,0x93,0xf6,0xc2,
|
||||
0xa5,0xcf,0x5b,0x6e,0xab,0xfe,0xc2,0x52,0x48,0x47,0x64,0x29,0x1c,0x8d,0xe1,0x46,
|
||||
0x7d,0x5,0xc3,0xd5,0x66,0x99,0xe1,0x3a,0xbd,0x56,0x6d,0x30,0x98,0x74,0x1a,0xed,
|
||||
0xed,0x16,0x83,0xd9,0x0,0x72,0x30,0x6b,0xe0,0x9f,0x56,0x67,0x6c,0x35,0x35,0xea,
|
||||
0x1a,0xd5,0x6a,0x1d,0x34,0xeb,0x2e,0x98,0xd5,0x26,0xf3,0xeb,0x19,0x6e,0xf3,0x94,
|
||||
0x4d,0xa1,0x8a,0xd8,0xa9,0xb2,0x1,0x53,0xec,0x6d,0x6d,0xc5,0x8a,0x1a,0xbd,0xe6,
|
||||
0x60,0x5f,0xaa,0xa2,0x46,0x3,0x6d,0x27,0xd1,0xc8,0x2f,0x6f,0xeb,0x58,0x55,0x5f,
|
||||
0x7b,0x21,0x39,0x66,0xbe,0x64,0x1d,0xee,0xe3,0x45,0x52,0x3d,0xc1,0x3c,0xf5,0xb1,
|
||||
0x1f,0x9a,0x8f,0x55,0xbf,0x6a,0xb8,0xd4,0xef,0xc5,0x6e,0x69,0x8d,0xfb,0xa1,0x19,
|
||||
0x1,0x5a,0x79,0xbc,0x98,0x99,0x45,0xeb,0x31,0x71,0x36,0x27,0xce,0xd,0x81,0x9f,
|
||||
0xc0,0xc9,0xe7,0x52,0x6a,0xe1,0xed,0xac,0xf5,0x9f,0x86,0x59,0xce,0x23,0x16,0xc1,
|
||||
0xc2,0x4a,0x1b,0xc4,0xe7,0x4b,0x5b,0x77,0x50,0x32,0x42,0xad,0x81,0x98,0x18,0x45,
|
||||
0xe9,0x18,0x5a,0x7f,0x8a,0x7f,0x5b,0xc1,0xf1,0x30,0xd,0xd,0x20,0x95,0x6,0xd3,
|
||||
0x5c,0x58,0xd9,0x44,0xab,0x73,0xd4,0x6a,0xe3,0xc1,0x67,0xd2,0x83,0x7e,0x69,0x77,
|
||||
0x9c,0xa4,0xc9,0xa1,0xbb,0x38,0x1e,0x5,0xec,0xe2,0xc0,0xe,0x7c,0x48,0x96,0x1d,
|
||||
0x4b,0x41,0xac,0x41,0x27,0x44,0x23,0xcb,0x28,0x9b,0x46,0x23,0x4b,0xd2,0x60,0x8e,
|
||||
0xd8,0xf7,0xf9,0xd,0x88,0x38,0xf0,0x68,0x18,0x85,0xd6,0x71,0xdc,0x8f,0xd2,0x93,
|
||||
0xe0,0x0,0xc4,0xf8,0x28,0xac,0x48,0x47,0xc1,0x5a,0x35,0xc8,0x30,0x19,0xb4,0x18,
|
||||
0x7a,0x8a,0x47,0x66,0xa4,0x40,0x1e,0x44,0xd,0x42,0x96,0x3,0x83,0x51,0x8,0x98,
|
||||
0xe0,0x6b,0x61,0x30,0x7,0x20,0xe0,0x23,0xec,0x2c,0x91,0x12,0x42,0xd8,0x2f,0xad,
|
||||
0xdf,0x83,0x76,0xe8,0x3,0xac,0x22,0xf8,0xf2,0x7e,0x2,0x74,0x37,0x53,0xdb,0x40,
|
||||
0x4b,0x6e,0xb9,0x90,0x5d,0xc6,0xcb,0x41,0xe9,0xfe,0xaf,0x85,0x89,0x7e,0x94,0x9c,
|
||||
0x3,0x69,0x15,0x82,0x11,0xc0,0xa,0x54,0xe3,0x48,0x98,0xe0,0x9e,0x48,0x42,0x60,
|
||||
0x89,0x62,0xcf,0xa4,0xfc,0xe,0x0,0x7d,0xe1,0x8f,0xb7,0xf2,0x1e,0xc7,0xb,0xff,
|
||||
0x2,0xdc,0xa8,0xc4,0x8,0x8e,0xfb,0x0,0xef,0x59,0x5,0x33,0x21,0xd6,0x6d,0xf1,
|
||||
0x58,0xba,0xc1,0x7c,0xd9,0xea,0x89,0xed,0x6b,0x62,0x9d,0x6e,0xbe,0xef,0xfd,0x99,
|
||||
0x86,0x8e,0x4a,0x57,0x7f,0x90,0xa8,0x6a,0x81,0xec,0x23,0x98,0xac,0x53,0x5c,0xa7,
|
||||
0xb8,0x4e,0x71,0x9d,0xe2,0x3a,0xc5,0x75,0x8a,0xeb,0x14,0xd7,0x29,0xae,0x53,0x5c,
|
||||
0xc7,0x8c,0xeb,0x44,0x26,0xb6,0x34,0x7d,0xc3,0x33,0x29,0x34,0xfe,0xa0,0x10,0xf7,
|
||||
0x43,0xba,0x27,0xa4,0xd3,0x68,0x6b,0x8d,0xee,0x8d,0xe2,0x7b,0x51,0x21,0x17,0x7f,
|
||||
0x99,0x5d,0xaa,0xf5,0x54,0x97,0xa6,0xab,0x3,0x9,0x5a,0x67,0x24,0xa9,0x9a,0x7c,
|
||||
0xfa,0x0,0x92,0x5f,0x9a,0xea,0xd2,0x8d,0x33,0x92,0xb4,0x86,0x66,0xd1,0xea,0xc3,
|
||||
0xc2,0x60,0x2,0x85,0x86,0x85,0xed,0xa8,0x38,0x91,0x20,0x8d,0x5b,0xbf,0x89,0x19,
|
||||
0x48,0x87,0x73,0x85,0x60,0x4c,0x8c,0xf7,0xa3,0xb1,0xc,0xd9,0x56,0x4e,0xfe,0x82,
|
||||
0xa7,0xd6,0x71,0x78,0x14,0xad,0x6e,0x88,0x53,0x59,0x92,0xd,0xce,0xce,0xe1,0xd1,
|
||||
0x25,0x1c,0x4f,0x2b,0xe9,0xb3,0xb2,0x1,0x7,0x73,0xce,0xa3,0x4c,0xfa,0x77,0x7f,
|
||||
0x3f,0x3d,0x74,0x52,0xea,0x6,0xb7,0xe8,0xb5,0xf8,0x73,0x3f,0xc9,0xa2,0x42,0xc3,
|
||||
0x28,0x42,0x1a,0x51,0x2a,0x83,0xc3,0x79,0x34,0x46,0xa,0xa0,0xa,0x9d,0x53,0x41,
|
||||
0x21,0xb3,0x29,0x3e,0x9,0xa3,0xe1,0x0,0x4a,0xee,0xd4,0x1e,0x83,0x9,0x19,0x76,
|
||||
0x67,0x37,0xe3,0xf5,0x74,0x2a,0x64,0x34,0xa9,0xdc,0xf6,0x4e,0xde,0xe7,0x61,0x55,
|
||||
0x38,0xf4,0x8,0xcd,0xe7,0x95,0x7f,0xed,0xe5,0xc3,0x42,0xcc,0x55,0x4b,0xa7,0xcd,
|
||||
0xce,0xb1,0xed,0x5a,0xb5,0x56,0xab,0x36,0x69,0xb4,0x9a,0x46,0x8d,0xc9,0x60,0x6c,
|
||||
0x70,0x73,0xdd,0xfb,0xab,0x60,0xb5,0x5,0x56,0xc8,0xd,0xe3,0x78,0x58,0x48,0xcf,
|
||||
0x53,0x79,0xa,0xf9,0x5,0x3c,0xfd,0x70,0xcf,0xc3,0x21,0x1f,0x37,0xa0,0x77,0x49,
|
||||
0x7d,0x20,0x3f,0xa,0xa,0xa8,0x54,0x56,0x26,0x49,0xfe,0x8c,0x52,0xc3,0x85,0xbb,
|
||||
0x6b,0x44,0x65,0xf2,0xf7,0x50,0x60,0xd,0x54,0x43,0xa9,0x78,0xcf,0xd,0xe1,0x5d,
|
||||
0x3f,0xde,0xc8,0x90,0x2d,0xec,0xcd,0x30,0x8a,0x8d,0x90,0x1a,0xf8,0xc2,0x60,0x61,
|
||||
0x3a,0x59,0xb8,0x3f,0x23,0x97,0x1a,0xa2,0x42,0x76,0x4e,0xf2,0xf,0x4a,0xb3,0x77,
|
||||
0x40,0x13,0xc5,0xc9,0x35,0xc8,0xac,0x61,0x38,0xba,0xbf,0x58,0xaa,0xaf,0xc0,0x24,
|
||||
0x74,0x2d,0x68,0x57,0xa8,0x92,0x6b,0xbb,0x64,0xb9,0x5c,0x8a,0xea,0x11,0x7c,0x6a,
|
||||
0x8f,0xaf,0xef,0x48,0x89,0xb4,0x66,0x83,0xba,0xf6,0x95,0xe8,0x1d,0x81,0xd5,0x19,
|
||||
0xb4,0xa6,0x43,0xc0,0xbe,0xa6,0xd2,0x72,0x22,0x5d,0x92,0x90,0xf1,0xb,0x3b,0x21,
|
||||
0xbc,0xbc,0xf5,0xaa,0x19,0x27,0x85,0xab,0x58,0x4a,0xae,0x31,0x86,0xf,0x38,0xe,
|
||||
0x51,0xeb,0xae,0xaa,0xb0,0xb0,0xc8,0x94,0xcf,0x9d,0x50,0x7c,0x14,0xd3,0x1,0x80,
|
||||
0x42,0x62,0x3a,0x5,0x9c,0xa8,0x18,0x24,0x64,0xfb,0x85,0xed,0xb9,0x92,0xf3,0x78,
|
||||
0xed,0xe8,0xb0,0x62,0x54,0x76,0x17,0xa4,0x94,0x62,0x84,0xa0,0x73,0x65,0x1f,0x1c,
|
||||
0x1a,0x7,0xbb,0x52,0x32,0x63,0xa5,0x75,0xbe,0xbd,0x1,0xf6,0xa5,0xf8,0x45,0xa3,
|
||||
0x86,0x2f,0x17,0x59,0xd6,0x6d,0xe7,0xe0,0xe2,0xeb,0xe,0x1f,0xc7,0xfb,0x98,0x37,
|
||||
0xb0,0x33,0xb5,0x10,0xeb,0xbd,0x51,0x28,0xf7,0xa1,0x3d,0x44,0x85,0xcc,0x8c,0x94,
|
||||
0x5c,0xad,0xc,0x5a,0x14,0x67,0x6,0xba,0xb0,0xb3,0x8c,0x7,0x53,0xd8,0x3f,0x46,
|
||||
0x9e,0xb2,0x89,0x9d,0xda,0x7f,0x64,0xe,0xdd,0x74,0xd6,0xec,0xd9,0x74,0xd6,0x80,
|
||||
0x86,0xe2,0xf0,0x3d,0x94,0xf5,0xa3,0xf1,0x14,0x51,0xf3,0x59,0x12,0xe3,0xd1,0x16,
|
||||
0xe6,0xba,0xc7,0xd2,0xe9,0x60,0x99,0x5b,0x57,0x2b,0x4e,0x35,0x33,0xd4,0xb8,0x7c,
|
||||
0x58,0x5c,0xd0,0x92,0xe8,0x80,0x9e,0xf1,0x18,0x8f,0xa2,0x27,0xd3,0xc2,0x76,0xfa,
|
||||
0x85,0x3f,0xae,0x3c,0xcf,0x2f,0xfc,0xb,0x95,0xaa,0x41,0x76,0x6c,0x8a,0xa7,0x43,
|
||||
0x94,0x5a,0xff,0xc0,0xe,0xa,0x66,0xa8,0xca,0x9c,0x0,0xbe,0xbc,0x85,0xa3,0xe5,
|
||||
0x2c,0xdd,0xac,0xa7,0xe4,0x68,0xb5,0x5a,0x9d,0x51,0xad,0x3d,0x19,0x51,0xc5,0x11,
|
||||
0x94,0x40,0x47,0x42,0xc7,0x78,0x42,0xda,0x9d,0x2d,0x4,0x23,0xc2,0x6e,0x12,0x1e,
|
||||
0x77,0x7a,0xe2,0xe7,0x3,0x94,0x69,0xa5,0x2c,0x4d,0x6a,0xc3,0x5f,0x2c,0x68,0x7a,
|
||||
0x75,0x1b,0x96,0xa4,0x30,0x72,0x24,0x85,0xd6,0x72,0x68,0x75,0xa8,0xf6,0xcd,0xbc,
|
||||
0x6c,0xb7,0xe5,0x10,0x46,0xd9,0x96,0xc,0x3e,0x12,0x27,0x9e,0xa,0x99,0xb1,0x92,
|
||||
0x9d,0x42,0x77,0x23,0x28,0xb9,0x28,0xe4,0xee,0x91,0xeb,0x50,0x10,0x47,0xef,0xd7,
|
||||
0x1e,0xa,0x6d,0x9,0x45,0x89,0x6c,0xbc,0xbc,0x83,0xa3,0x49,0xf1,0xd1,0x34,0x8a,
|
||||
0xfd,0x8c,0x56,0x1f,0xa2,0xf5,0x18,0x8d,0xbf,0xa8,0x79,0x45,0xa1,0x61,0x29,0x9f,
|
||||
0x10,0xc7,0x82,0xb5,0x87,0x45,0x57,0xc2,0x42,0xb,0x14,0x28,0xf0,0x54,0x48,0xff,
|
||||
0x4a,0x6c,0x4a,0xf8,0x11,0xe1,0xff,0xc2,0x6e,0xa9,0x85,0x76,0xc0,0xa3,0x53,0x78,
|
||||
0x22,0x5f,0x7b,0x40,0xf4,0x65,0x20,0xd3,0xcb,0x62,0x76,0x1,0x27,0x56,0x50,0x36,
|
||||
0x56,0x7b,0x74,0xbe,0xb9,0xdd,0x53,0x5c,0x7b,0x24,0x8d,0x96,0x96,0x2a,0x2c,0x9f,
|
||||
0xde,0xa8,0x6b,0xfc,0xab,0x59,0xbe,0x7,0x3,0x42,0x6e,0xb2,0xda,0x31,0x94,0x93,
|
||||
0x60,0xf0,0x68,0xa0,0x5,0x91,0x19,0x18,0x3,0xb4,0x1a,0x84,0xc0,0xec,0xdc,0xef,
|
||||
0xfe,0x51,0xf8,0x5e,0x9,0x5,0x5a,0x6b,0x8f,0xfa,0xc3,0x75,0xf5,0xb5,0x95,0xd,
|
||||
0xbd,0xb6,0x51,0x7b,0x98,0xaa,0xd6,0x0,0x4a,0x6d,0x29,0x99,0x90,0x65,0xb4,0x22,
|
||||
0x26,0xa7,0xc1,0xa2,0x83,0x40,0xe4,0x94,0x22,0x8f,0x42,0xeb,0x10,0x5e,0xd3,0xd8,
|
||||
0xba,0x2,0xed,0x17,0x3e,0xd6,0xcb,0x33,0x17,0xac,0x56,0x3b,0x39,0xee,0xa8,0x84,
|
||||
0xdb,0x28,0x10,0x16,0xe7,0x67,0xe4,0x83,0x53,0x11,0x12,0x5c,0xef,0xce,0xa3,0xc0,
|
||||
0x5a,0x39,0xf4,0x96,0x1b,0x8b,0x79,0x4b,0x71,0x4a,0x98,0x4c,0x9,0xd9,0xf7,0x4d,
|
||||
0x56,0x91,0xb2,0xd4,0x14,0xbf,0xde,0x4d,0xd9,0x4b,0xaf,0x53,0xab,0x4f,0x40,0xa1,
|
||||
0x58,0x9,0xaf,0x51,0x16,0x9e,0xe1,0x34,0x11,0x8a,0x5c,0xfc,0x2d,0x3d,0xd2,0x78,
|
||||
0x26,0x75,0x42,0x9f,0xdc,0x37,0x94,0x91,0xc6,0x5c,0xfb,0x32,0x22,0xae,0x9f,0x9c,
|
||||
0x5a,0x9c,0xdf,0x0,0xb9,0x80,0x50,0xae,0x41,0xcf,0xf,0x5b,0x2a,0x27,0xc1,0xac,
|
||||
0xbe,0x33,0xb0,0xba,0xc3,0xaa,0xe3,0x35,0x2,0xf6,0x8,0x49,0xbb,0x81,0x58,0x95,
|
||||
0x40,0xa2,0x30,0x98,0x28,0xbd,0xd0,0x4a,0x5d,0x44,0xc9,0xb0,0x28,0xc7,0xf1,0x41,
|
||||
0x8d,0xe9,0x36,0x2d,0xd,0x7e,0x6a,0x3c,0xda,0x79,0x67,0x22,0xd7,0xeb,0x3f,0x38,
|
||||
0x91,0x1b,0x49,0x24,0xf8,0x24,0x8c,0xf2,0x1,0x25,0x8e,0x4d,0x46,0x70,0x6a,0x12,
|
||||
0x44,0x4e,0xe,0x64,0xcb,0x4a,0x0,0x52,0xff,0x8a,0xed,0x70,0xb9,0x78,0x86,0x73,
|
||||
0xf5,0x90,0x10,0x60,0xaf,0x46,0x7c,0x2e,0xbf,0xaa,0x41,0xce,0xe5,0x6,0xa3,0x68,
|
||||
0x3c,0x85,0x9f,0xac,0x96,0x93,0x66,0xb9,0xe0,0xb3,0xb7,0xd6,0x1f,0xaa,0x3e,0x29,
|
||||
0xda,0xd9,0xa4,0x46,0xb2,0x34,0x1d,0xd9,0x8c,0x94,0x73,0x55,0x98,0x17,0x4f,0xad,
|
||||
0xd3,0x82,0x6a,0xf1,0xb0,0xef,0x87,0xaf,0x6b,0x1a,0xb5,0xee,0x60,0x5d,0x93,0xaf,
|
||||
0x4e,0xc0,0x7b,0x41,0x90,0x15,0xbe,0xdd,0xf,0x6b,0x68,0xaa,0xfe,0x50,0x5,0xa,
|
||||
0x3c,0x13,0xd2,0x63,0x47,0x86,0x78,0xa1,0xc3,0xe5,0xe3,0x8f,0x17,0xa7,0xb9,0xea,
|
||||
0xfb,0x4f,0x44,0x32,0xa7,0x6f,0xd,0x9d,0xbe,0x35,0xf4,0x16,0x66,0x4,0xcc,0x28,
|
||||
0xe4,0x61,0xc,0x68,0x1a,0xcb,0xd0,0xb7,0x60,0xd0,0x6c,0xa2,0x30,0x3b,0x84,0x9e,
|
||||
0x2e,0x8a,0x99,0x21,0x21,0xb3,0x9,0x96,0x54,0x9a,0xcd,0x81,0x2d,0x96,0x76,0x17,
|
||||
0xa4,0xc1,0x88,0x90,0x1e,0xa6,0x7b,0x2c,0x2c,0x73,0xd9,0xcb,0x0,0x73,0x98,0xb,
|
||||
0x1c,0x73,0xc9,0xe9,0x3,0x7d,0x77,0x79,0x48,0xd0,0x69,0x71,0xba,0xcf,0x2,0x34,
|
||||
0xb9,0x7,0xd9,0xb0,0x9d,0x49,0xd1,0x37,0x74,0x71,0x62,0x5,0x8c,0x35,0x4c,0x2e,
|
||||
0xf7,0x80,0x95,0x49,0xba,0x38,0xb6,0x84,0x87,0x62,0x74,0x7,0x17,0x4f,0x27,0x48,
|
||||
0x19,0x7f,0x30,0x87,0xe7,0x37,0x48,0x61,0x20,0x19,0x11,0xf3,0x63,0xc4,0x67,0x24,
|
||||
0xfd,0x28,0x3a,0x49,0xb6,0x72,0x64,0xea,0x4a,0x7b,0xb7,0xf4,0x7,0x81,0x6a,0xcf,
|
||||
0x2e,0x97,0x36,0xf2,0xd1,0x52,0x1a,0x8c,0x8,0xd3,0xfa,0xc9,0x27,0xcc,0xbf,0x79,
|
||||
0x0,0x72,0xa3,0x8f,0xb7,0xc1,0x13,0x8e,0xee,0x46,0x8a,0xfb,0x72,0x1d,0x60,0x91,
|
||||
0x51,0x68,0x53,0x3e,0x7e,0x6,0x3e,0x70,0x4e,0xda,0xd,0x2a,0x22,0x90,0x3d,0x59,
|
||||
0x9,0x2a,0x3d,0xa2,0x56,0x3a,0x5e,0x53,0x76,0x7b,0xc9,0x45,0x71,0x6c,0x1d,0xb8,
|
||||
0xc6,0x5c,0xb1,0x73,0xbe,0x5e,0x66,0x1f,0x87,0xd8,0x5e,0x56,0xd9,0xf6,0x23,0xac,
|
||||
0x96,0xab,0x2c,0xbf,0xfb,0x7,0x6a,0x8f,0x63,0xa,0xa3,0xbe,0xb8,0x71,0x85,0xb9,
|
||||
0xa5,0x63,0x50,0x34,0x26,0x25,0x93,0x28,0xeb,0xc7,0xe9,0xf1,0xda,0xa3,0xb5,0xb0,
|
||||
0xb2,0x23,0xce,0x27,0x51,0x7c,0x1d,0x2d,0xf8,0x8b,0xaf,0x94,0xd7,0x14,0x81,0xc4,
|
||||
0x2d,0x7c,0x1,0xd6,0x90,0x55,0xa8,0xb3,0x30,0x36,0xf,0xdb,0x75,0xae,0x6c,0xe3,
|
||||
0xbd,0x60,0xe4,0xbb,0x49,0x87,0x86,0x4e,0x97,0x53,0xd5,0xdd,0x65,0xed,0xb6,0xd6,
|
||||
0xf7,0xda,0x55,0x56,0x96,0x75,0xd7,0x13,0x2b,0x50,0xef,0xf1,0x71,0x1c,0xeb,0x39,
|
||||
0x62,0x9c,0x47,0x29,0xb2,0xb2,0x9d,0x2e,0x8f,0xec,0xc8,0x9a,0x18,0x1f,0x50,0xe7,
|
||||
0x21,0x5e,0x8b,0x58,0x7a,0x87,0xcb,0xd3,0xf4,0x77,0xb5,0xda,0xac,0xed,0xb2,0x54,
|
||||
0xd0,0x7a,0x14,0x72,0x5e,0x9,0xc6,0x2c,0xb5,0x19,0x96,0x29,0xfc,0xb7,0xf9,0x3a,
|
||||
0xe,0x11,0x0,0xf4,0xa8,0x29,0x9,0x1c,0x4e,0xcf,0x9,0x13,0x1,0x20,0xff,0xfe,
|
||||
0x10,0x19,0x90,0x2e,0x24,0xd4,0x69,0xe8,0xe4,0x28,0xee,0xf6,0xf7,0x2f,0x87,0x37,
|
||||
0xa3,0xe9,0xa4,0xc8,0x2,0xc2,0xb,0x1a,0x46,0x90,0xd7,0x49,0xe3,0xe1,0xc2,0xc2,
|
||||
0x22,0xda,0xde,0x46,0xab,0xf,0x49,0x25,0x31,0x9b,0x56,0x5e,0xb2,0x5d,0x7f,0xa,
|
||||
0x51,0x82,0x38,0xbf,0x8d,0x53,0x13,0xc4,0x11,0x90,0xd0,0x81,0x9c,0xd5,0xca,0xce,
|
||||
0xd1,0xa3,0x9f,0x28,0xba,0x4c,0x5e,0xeb,0x5f,0x7d,0x48,0x8e,0x2e,0xc3,0xb8,0x5f,
|
||||
0xd2,0x85,0xe9,0xd,0x52,0x40,0x90,0xbd,0xa4,0xd2,0xa7,0x78,0x17,0x4f,0x6f,0xd2,
|
||||
0xbb,0x78,0x69,0x5c,0x48,0xcf,0xe3,0xc1,0x0,0x1a,0x7e,0x4e,0xde,0xf2,0x94,0xbb,
|
||||
0xed,0x5d,0x84,0xa1,0x8d,0x78,0x33,0x24,0xf9,0xa7,0x49,0xd8,0xb1,0x3a,0x47,0xe6,
|
||||
0xa7,0x27,0xc8,0x9e,0xf,0x81,0x3,0x22,0x64,0xe4,0x86,0xe9,0x2b,0xa0,0xfb,0xe2,
|
||||
0x12,0xfc,0xbc,0x5f,0x9c,0xc,0x1c,0x14,0x97,0x50,0xfa,0xe9,0x71,0x6b,0x4,0x9f,
|
||||
0xf5,0x3b,0x68,0x7e,0x19,0x2,0x2d,0x0,0xd,0xd7,0x38,0x34,0x85,0xe3,0x8f,0x14,
|
||||
0xf7,0x9d,0xca,0x4a,0xc1,0x8d,0xca,0xd3,0x6f,0x65,0xbf,0xad,0x44,0x3,0xd9,0x1,
|
||||
0x60,0x5a,0xed,0xc9,0x56,0x4a,0xad,0x51,0xd9,0xd2,0x18,0x46,0xf2,0x7,0xe0,0x71,
|
||||
0x93,0x55,0x96,0xe9,0xb5,0xcb,0x25,0xc9,0xb4,0x72,0xce,0x91,0x1c,0x5a,0x8f,0xa2,
|
||||
0xa9,0x38,0x7e,0x7c,0x5f,0x1c,0x1e,0x41,0xc1,0x34,0xfe,0x6d,0x5,0xe2,0xa0,0xc2,
|
||||
0xcc,0x2e,0xda,0x1e,0x44,0x77,0xf6,0x6f,0x71,0xd7,0xda,0xf6,0x1d,0x8a,0xd,0x48,
|
||||
0xfe,0x41,0x3c,0x15,0x14,0x23,0xc9,0x9a,0x74,0xfa,0xaf,0x31,0x4c,0x7b,0x72,0x99,
|
||||
0x8b,0x1e,0x97,0xdd,0x4a,0x93,0x99,0xab,0x2e,0xce,0x45,0x1b,0x3f,0xa5,0xff,0x9c,
|
||||
0xd0,0x20,0x67,0x50,0xaf,0x6b,0x7d,0xd5,0xda,0x29,0x16,0xcd,0x68,0x69,0x6c,0x34,
|
||||
0x18,0xaa,0x58,0xb4,0xef,0x7c,0xec,0x77,0x76,0x8e,0x18,0x33,0x18,0xcf,0xab,0x4c,
|
||||
0x6a,0xb3,0x5a,0x6f,0xd6,0x1b,0x34,0x8d,0x3a,0xad,0xd9,0x6c,0x82,0xb,0xf5,0x1,
|
||||
0x75,0x96,0x93,0x52,0x7a,0xd0,0xa9,0xab,0xfe,0xb6,0x5f,0xc1,0xef,0x7,0x3d,0x3f,
|
||||
0x32,0xa9,0x97,0x7a,0xed,0x87,0x54,0x10,0x9a,0x55,0xa5,0x1f,0x63,0x6d,0x56,0x91,
|
||||
0x9f,0x71,0xfd,0x3f,0xa2,0x77,0xc0,0xa8,
|
||||
// /home/gfdgd_xi/Desktop/deep-wine-runner/VM-source/LANG/virtualmachine-en_US.qm
|
||||
0x0,0x0,0x5,0x21,
|
||||
0x3c,
|
||||
0xb8,0x64,0x18,0xca,0xef,0x9c,0x95,0xcd,0x21,0x1c,0xbf,0x60,0xa1,0xbd,0xdd,0xa7,
|
||||
0x0,0x0,0x0,0x5,0x7a,0x68,0x5f,0x43,0x4e,0x42,0x0,0x0,0x0,0x68,0x0,0x17,
|
||||
0x80,0x6f,0x0,0x0,0x3,0xbc,0x2,0x54,0x58,0xc7,0x0,0x0,0x1,0x1a,0x2,0xec,
|
||||
0xd7,0x19,0x0,0x0,0x1,0xce,0x7,0x71,0x98,0x99,0x0,0x0,0x0,0x8d,0x7,0xe7,
|
||||
0x98,0x99,0x0,0x0,0x0,0x0,0x8,0xeb,0x29,0xaa,0x0,0x0,0x4,0x49,0x9,0xb5,
|
||||
0xa9,0xa6,0x0,0x0,0x2,0xf8,0xc,0xa1,0xc7,0xc9,0x0,0x0,0x2,0xa2,0xc,0xd4,
|
||||
0x95,0xaa,0x0,0x0,0x3,0x3d,0xe,0xe1,0x20,0x2e,0x0,0x0,0x1,0x9f,0xf,0x7,
|
||||
0x82,0xb5,0x0,0x0,0x2,0x6f,0xf,0x18,0xee,0x2a,0x0,0x0,0x4,0x1c,0xf,0x3a,
|
||||
0xd3,0x7e,0x0,0x0,0x3,0x89,0x69,0x0,0x0,0x4,0x95,0x3,0x0,0x0,0x0,0x46,
|
||||
0x0,0x57,0x0,0x69,0x0,0x6e,0x0,0x64,0x0,0x6f,0x0,0x77,0x0,0x73,0x0,0x20,
|
||||
0x0,0x37,0x0,0x20,0x0,0x58,0x0,0x38,0x0,0x36,0x0,0x28,0x0,0x53,0x0,0x75,
|
||||
0x0,0x70,0x0,0x70,0x0,0x6f,0x0,0x72,0x0,0x74,0x0,0x20,0x0,0x41,0x0,0x75,
|
||||
0x0,0x74,0x0,0x6f,0x0,0x20,0x0,0x49,0x0,0x6e,0x0,0x73,0x0,0x74,0x0,0x61,
|
||||
0x0,0x6c,0x0,0x6c,0x0,0x29,0x8,0x0,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0x28,
|
||||
0x57,0x69,0x6e,0x64,0x6f,0x77,0x73,0x20,0x37,0x20,0x33,0x32,0x20,0xe4,0xbd,0x8d,
|
||||
0xef,0xbc,0x88,0xe6,0x94,0xaf,0xe6,0x8c,0x81,0xe8,0x87,0xaa,0xe5,0x8a,0xa8,0xe5,
|
||||
0xae,0x89,0xe8,0xa3,0x85,0xef,0xbc,0x89,0x7,0x0,0x0,0x0,0xa,0x4d,0x61,0x69,
|
||||
0x6e,0x57,0x69,0x6e,0x64,0x6f,0x77,0x1,0x3,0x0,0x0,0x0,0x46,0x0,0x57,0x0,
|
||||
0x69,0x0,0x6e,0x0,0x64,0x0,0x6f,0x0,0x77,0x0,0x73,0x0,0x20,0x0,0x37,0x0,
|
||||
0x20,0x0,0x58,0x0,0x36,0x0,0x34,0x0,0x28,0x0,0x53,0x0,0x75,0x0,0x70,0x0,
|
||||
0x70,0x0,0x6f,0x0,0x72,0x0,0x74,0x0,0x20,0x0,0x41,0x0,0x75,0x0,0x74,0x0,
|
||||
0x6f,0x0,0x20,0x0,0x49,0x0,0x6e,0x0,0x73,0x0,0x74,0x0,0x61,0x0,0x6c,0x0,
|
||||
0x6c,0x0,0x29,0x8,0x0,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0x28,0x57,0x69,0x6e,
|
||||
0x64,0x6f,0x77,0x73,0x20,0x37,0x20,0x36,0x34,0x20,0xe4,0xbd,0x8d,0xef,0xbc,0x88,
|
||||
0xe6,0x94,0xaf,0xe6,0x8c,0x81,0xe8,0x87,0xaa,0xe5,0x8a,0xa8,0xe5,0xae,0x89,0xe8,
|
||||
0xa3,0x85,0xef,0xbc,0x89,0x7,0x0,0x0,0x0,0xa,0x4d,0x61,0x69,0x6e,0x57,0x69,
|
||||
0x6e,0x64,0x6f,0x77,0x1,0x3,0x0,0x0,0x0,0x4c,0x0,0x57,0x0,0x69,0x0,0x6e,
|
||||
0x0,0x64,0x0,0x6f,0x0,0x77,0x0,0x73,0x0,0x20,0x0,0x53,0x0,0x79,0x0,0x73,
|
||||
0x0,0x74,0x0,0x65,0x0,0x6d,0x0,0x20,0x0,0x49,0x0,0x6e,0x0,0x73,0x0,0x74,
|
||||
0x0,0x61,0x0,0x6c,0x0,0x6c,0x0,0x65,0x0,0x72,0x0,0x20,0x0,0x42,0x0,0x79,
|
||||
0x0,0x20,0x0,0x56,0x0,0x69,0x0,0x72,0x0,0x74,0x0,0x75,0x0,0x61,0x0,0x6c,
|
||||
0x0,0x42,0x0,0x6f,0x0,0x78,0x8,0x0,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0x1a,
|
||||
0x57,0x69,0x6e,0x64,0x6f,0x77,0x73,0x20,0xe5,0xba,0x94,0xe7,0x94,0xa8,0xe9,0x80,
|
||||
0x82,0xe9,0x85,0x8d,0xe5,0xb7,0xa5,0xe5,0x85,0xb7,0x7,0x0,0x0,0x0,0xa,0x4d,
|
||||
0x61,0x69,0x6e,0x57,0x69,0x6e,0x64,0x6f,0x77,0x1,0x3,0x0,0x0,0x0,0xa,0x0,
|
||||
0x41,0x0,0x62,0x0,0x6f,0x0,0x75,0x0,0x74,0x8,0x0,0x0,0x0,0x0,0x6,0x0,
|
||||
0x0,0x0,0x6,0xe5,0x85,0xb3,0xe4,0xba,0x8e,0x7,0x0,0x0,0x0,0xa,0x4d,0x61,
|
||||
0x69,0x6e,0x57,0x69,0x6e,0x64,0x6f,0x77,0x1,0x3,0x0,0x0,0x0,0x52,0x0,0x4f,
|
||||
0x0,0x74,0x0,0x68,0x0,0x65,0x0,0x72,0x0,0x20,0x0,0x57,0x0,0x69,0x0,0x6e,
|
||||
0x0,0x64,0x0,0x6f,0x0,0x77,0x0,0x73,0x0,0x28,0x0,0x44,0x0,0x6f,0x0,0x6e,
|
||||
0x0,0x27,0x0,0x74,0x0,0x20,0x0,0x53,0x0,0x75,0x0,0x70,0x0,0x70,0x0,0x6f,
|
||||
0x0,0x72,0x0,0x74,0x0,0x20,0x0,0x41,0x0,0x75,0x0,0x74,0x0,0x6f,0x0,0x20,
|
||||
0x0,0x49,0x0,0x6e,0x0,0x73,0x0,0x74,0x0,0x61,0x0,0x6c,0x0,0x6c,0x0,0x29,
|
||||
0x8,0x0,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0x30,0xe5,0x85,0xb6,0xe5,0xae,0x83,
|
||||
0x20,0x57,0x69,0x6e,0x64,0x6f,0x77,0x73,0x20,0xe7,0xb3,0xbb,0xe7,0xbb,0x9f,0xef,
|
||||
0xbc,0x88,0xe4,0xb8,0x8d,0xe6,0x94,0xaf,0xe6,0x8c,0x81,0xe8,0x87,0xaa,0xe5,0x8a,
|
||||
0xa8,0xe5,0xae,0x89,0xe8,0xa3,0x85,0xef,0xbc,0x89,0x7,0x0,0x0,0x0,0xa,0x4d,
|
||||
0x61,0x69,0x6e,0x57,0x69,0x6e,0x64,0x6f,0x77,0x1,0x3,0x0,0x0,0x0,0xe,0x0,
|
||||
0x49,0x0,0x6e,0x0,0x73,0x0,0x74,0x0,0x61,0x0,0x6c,0x0,0x6c,0x8,0x0,0x0,
|
||||
0x0,0x0,0x6,0x0,0x0,0x0,0x6,0xe5,0xae,0x89,0xe8,0xa3,0x85,0x7,0x0,0x0,
|
||||
0x0,0xa,0x4d,0x61,0x69,0x6e,0x57,0x69,0x6e,0x64,0x6f,0x77,0x1,0x3,0x0,0x0,
|
||||
0x0,0x24,0x0,0x49,0x0,0x6e,0x0,0x73,0x0,0x74,0x0,0x61,0x0,0x6c,0x0,0x6c,
|
||||
0x0,0x2f,0x0,0x55,0x0,0x73,0x0,0x69,0x0,0x6e,0x0,0x67,0x0,0x20,0x0,0x48,
|
||||
0x0,0x65,0x0,0x6c,0x0,0x70,0x8,0x0,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0x13,
|
||||
0xe5,0xae,0x89,0xe8,0xa3,0x85,0x2f,0xe4,0xbd,0xbf,0xe7,0x94,0xa8,0xe5,0xb8,0xae,
|
||||
0xe5,0x8a,0xa9,0x7,0x0,0x0,0x0,0xa,0x4d,0x61,0x69,0x6e,0x57,0x69,0x6e,0x64,
|
||||
0x6f,0x77,0x1,0x3,0x0,0x0,0x0,0x1a,0x0,0x42,0x0,0x72,0x0,0x6f,0x0,0x77,
|
||||
0x0,0x73,0x0,0x65,0x0,0x72,0x0,0x2e,0x0,0x2e,0x0,0x2e,0x0,0x2e,0x0,0x2e,
|
||||
0x0,0x2e,0x8,0x0,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0xc,0xe6,0xb5,0x8f,0xe8,
|
||||
0xa7,0x88,0xe2,0x80,0xa6,0xe2,0x80,0xa6,0x7,0x0,0x0,0x0,0xa,0x4d,0x61,0x69,
|
||||
0x6e,0x57,0x69,0x6e,0x64,0x6f,0x77,0x1,0x3,0x0,0x0,0x0,0x1e,0x0,0x53,0x0,
|
||||
0x79,0x0,0x73,0x0,0x74,0x0,0x65,0x0,0x6d,0x0,0x20,0x0,0x56,0x0,0x65,0x0,
|
||||
0x72,0x0,0x73,0x0,0x69,0x0,0x6f,0x0,0x6e,0x0,0x3a,0x8,0x0,0x0,0x0,0x0,
|
||||
0x6,0x0,0x0,0x0,0xf,0xe7,0xb3,0xbb,0xe7,0xbb,0x9f,0xe7,0x89,0x88,0xe6,0x9c,
|
||||
0xac,0xef,0xbc,0x9a,0x7,0x0,0x0,0x0,0xa,0x4d,0x61,0x69,0x6e,0x57,0x69,0x6e,
|
||||
0x64,0x6f,0x77,0x1,0x3,0x0,0x0,0x0,0xe,0x0,0x53,0x0,0x65,0x0,0x74,0x0,
|
||||
0x74,0x0,0x69,0x0,0x6e,0x0,0x67,0x8,0x0,0x0,0x0,0x0,0x6,0x0,0x0,0x0,
|
||||
0x6,0xe8,0xae,0xbe,0xe7,0xbd,0xae,0x7,0x0,0x0,0x0,0xa,0x4d,0x61,0x69,0x6e,
|
||||
0x57,0x69,0x6e,0x64,0x6f,0x77,0x1,0x3,0x0,0x0,0x0,0x2c,0x0,0x49,0x0,0x6e,
|
||||
0x0,0x70,0x0,0x75,0x0,0x74,0x0,0x20,0x0,0x53,0x0,0x79,0x0,0x73,0x0,0x74,
|
||||
0x0,0x65,0x0,0x6d,0x0,0x20,0x0,0x49,0x0,0x53,0x0,0x4f,0x0,0x20,0x0,0x49,
|
||||
0x0,0x6d,0x0,0x61,0x0,0x67,0x0,0x65,0x8,0x0,0x0,0x0,0x0,0x6,0x0,0x0,
|
||||
0x0,0x15,0xe8,0xaf,0xb7,0xe9,0x80,0x89,0xe6,0x8b,0xa9,0xe7,0xb3,0xbb,0xe7,0xbb,
|
||||
0x9f,0xe9,0x95,0x9c,0xe5,0x83,0x8f,0x7,0x0,0x0,0x0,0xa,0x4d,0x61,0x69,0x6e,
|
||||
0x57,0x69,0x6e,0x64,0x6f,0x77,0x1,0x3,0x0,0x0,0x0,0x8,0x0,0x45,0x0,0x78,
|
||||
0x0,0x69,0x0,0x74,0x8,0x0,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0x6,0xe9,0x80,
|
||||
0x80,0xe5,0x87,0xba,0x7,0x0,0x0,0x0,0xa,0x4d,0x61,0x69,0x6e,0x57,0x69,0x6e,
|
||||
0x64,0x6f,0x77,0x1,0x3,0x0,0x0,0x0,0x1e,0x0,0x49,0x0,0x53,0x0,0x4f,0x0,
|
||||
0x20,0x0,0x49,0x0,0x6d,0x0,0x61,0x0,0x67,0x0,0x65,0x0,0x20,0x0,0x50,0x0,
|
||||
0x61,0x0,0x74,0x0,0x68,0x0,0x3a,0x8,0x0,0x0,0x0,0x0,0x6,0x0,0x0,0x0,
|
||||
0xf,0xe9,0x95,0x9c,0xe5,0x83,0x8f,0xe8,0xb7,0xaf,0xe5,0xbe,0x84,0xef,0xbc,0x9a,
|
||||
0x7,0x0,0x0,0x0,0xa,0x4d,0x61,0x69,0x6e,0x57,0x69,0x6e,0x64,0x6f,0x77,0x1,
|
||||
|
||||
|
||||
};
|
||||
|
||||
static const unsigned char qt_resource_name[] = {
|
||||
// deepin-wine-runner.png
|
||||
// LANG
|
||||
0x0,0x4,
|
||||
0x0,0x5,0x6,0x27,
|
||||
0x0,0x4c,
|
||||
0x0,0x41,0x0,0x4e,0x0,0x47,
|
||||
// deepin-wine-runner.png
|
||||
0x0,0x16,
|
||||
0x1,0xfc,0x35,0xc7,
|
||||
0x0,0x64,
|
||||
@ -215340,64 +215659,85 @@ static const unsigned char qt_resource_name[] = {
|
||||
0x56,0xfe,0x0,0x5f,0x0,0x56,0x0,0x69,0x0,0x72,0x0,0x74,0x0,0x75,0x0,0x61,0x0,0x6c,0x0,0x42,0x0,0x6f,0x0,0x78,0x0,0x20,0x0,0x4d,0x0,0x61,0x0,0x63,
|
||||
0x0,0x68,0x0,0x69,0x0,0x6e,0x0,0x65,0x0,0x5f,0x0,0x32,0x0,0x30,0x0,0x32,0x0,0x32,0x0,0x30,0x0,0x37,0x0,0x31,0x0,0x32,0x0,0x31,0x0,0x39,0x0,0x31,
|
||||
0x0,0x37,0x0,0x35,0x0,0x36,0x0,0x2e,0x0,0x70,0x0,0x6e,0x0,0x67,
|
||||
// virtualmachine-en_US.ts
|
||||
0x0,0x17,
|
||||
0x3,0x26,0xf0,0x93,
|
||||
0x0,0x76,
|
||||
0x0,0x69,0x0,0x72,0x0,0x74,0x0,0x75,0x0,0x61,0x0,0x6c,0x0,0x6d,0x0,0x61,0x0,0x63,0x0,0x68,0x0,0x69,0x0,0x6e,0x0,0x65,0x0,0x2d,0x0,0x65,0x0,0x6e,
|
||||
0x0,0x5f,0x0,0x55,0x0,0x53,0x0,0x2e,0x0,0x74,0x0,0x73,
|
||||
// virtualmachine-en_US.qm
|
||||
0x0,0x17,
|
||||
0x3,0x26,0xf0,0x5d,
|
||||
0x0,0x76,
|
||||
0x0,0x69,0x0,0x72,0x0,0x74,0x0,0x75,0x0,0x61,0x0,0x6c,0x0,0x6d,0x0,0x61,0x0,0x63,0x0,0x68,0x0,0x69,0x0,0x6e,0x0,0x65,0x0,0x2d,0x0,0x65,0x0,0x6e,
|
||||
0x0,0x5f,0x0,0x55,0x0,0x53,0x0,0x2e,0x0,0x71,0x0,0x6d,
|
||||
|
||||
};
|
||||
|
||||
static const unsigned char qt_resource_struct[] = {
|
||||
// :
|
||||
0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x1,
|
||||
0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x1,
|
||||
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
|
||||
// :/LANG
|
||||
0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x13,
|
||||
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
|
||||
// :/deepin-wine-runner.png
|
||||
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,
|
||||
0x0,0x0,0x0,0xe,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,
|
||||
0x0,0x0,0x1,0x82,0x16,0x7c,0xaa,0x8,
|
||||
// :/deepin-wine-runner.svg
|
||||
0x0,0x0,0x0,0x32,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x42,0x15,
|
||||
0x0,0x0,0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x42,0x15,
|
||||
0x0,0x0,0x1,0x82,0x16,0x74,0x25,0x6b,
|
||||
// :/picture
|
||||
0x0,0x0,0x0,0x64,0x0,0x2,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x4,
|
||||
0x0,0x0,0x0,0x72,0x0,0x2,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x5,
|
||||
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
|
||||
// :/picture/截图
|
||||
0x0,0x0,0x0,0x78,0x0,0x2,0x0,0x0,0x0,0xc,0x0,0x0,0x0,0x6,
|
||||
0x0,0x0,0x0,0x86,0x0,0x2,0x0,0x0,0x0,0xc,0x0,0x0,0x0,0x7,
|
||||
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
|
||||
// :/picture/截图_VirtualBox Machine_20220712142929.png
|
||||
0x0,0x0,0x0,0x82,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x6e,0x8c,
|
||||
0x0,0x0,0x0,0x90,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x6e,0x8c,
|
||||
0x0,0x0,0x1,0x81,0xf1,0x1b,0x6f,0x60,
|
||||
// :/picture/截图/截图_选择区域_20220712224639.png
|
||||
0x0,0x0,0x2,0xdc,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x17,0xa1,0x2b,
|
||||
0x0,0x0,0x2,0xea,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x17,0xa1,0x2b,
|
||||
0x0,0x0,0x1,0x81,0xf2,0xe0,0xae,0xa0,
|
||||
// :/picture/截图/截图_VirtualBox Manager_20220712223602.png
|
||||
0x0,0x0,0x1,0xda,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0xe,0x70,0x91,
|
||||
0x0,0x0,0x1,0xe8,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0xe,0x70,0x91,
|
||||
0x0,0x0,0x1,0x81,0xf2,0xd8,0x55,0xe8,
|
||||
// :/picture/截图/截图_VirtualBox Machine_20220712143103.png
|
||||
0x0,0x0,0x2,0x30,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x10,0x1c,0xd0,
|
||||
0x0,0x0,0x2,0x3e,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x10,0x1c,0xd0,
|
||||
0x0,0x0,0x1,0x81,0xf1,0x1b,0x9e,0x40,
|
||||
// :/picture/截图/截图_VirtualBox Machine_20220712143006.png
|
||||
0x0,0x0,0x4,0x8,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x2e,0x76,0xc1,
|
||||
0x0,0x0,0x4,0x16,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x2e,0x76,0xc1,
|
||||
0x0,0x0,0x1,0x81,0xf1,0x1b,0xe8,0x78,
|
||||
// :/picture/截图/截图_VirtualBox Machine_20220712143018.png
|
||||
0x0,0x0,0x0,0xd8,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x7,0x1f,0x9,
|
||||
0x0,0x0,0x0,0xe6,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x7,0x1f,0x9,
|
||||
0x0,0x0,0x1,0x81,0xf1,0x1b,0xd4,0xf0,
|
||||
// :/picture/截图/截图_VirtualBox Machine_20220712143029.png
|
||||
0x0,0x0,0x2,0x86,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x13,0xc8,0x43,
|
||||
0x0,0x0,0x2,0x94,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x13,0xc8,0x43,
|
||||
0x0,0x0,0x1,0x81,0xf1,0x1b,0xc9,0x38,
|
||||
// :/picture/截图/截图_VirtualBox Machine_20220712143037.png
|
||||
0x0,0x0,0x3,0x6c,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x2a,0xc4,0x82,
|
||||
0x0,0x0,0x3,0x7a,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x2a,0xc4,0x82,
|
||||
0x0,0x0,0x1,0x81,0xf1,0x1b,0xb9,0x98,
|
||||
// :/picture/截图/截图_VirtualBox Machine_20220712143044.png
|
||||
0x0,0x0,0x1,0x84,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0xb,0x77,0xc3,
|
||||
0x0,0x0,0x1,0x92,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0xb,0x77,0xc3,
|
||||
0x0,0x0,0x1,0x81,0xf1,0x1b,0xad,0xe0,
|
||||
// :/picture/截图/截图_VirtualBox_20220712223705.png
|
||||
0x0,0x0,0x3,0xc2,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x2d,0xb9,0x6d,
|
||||
0x0,0x0,0x3,0xd0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x2d,0xb9,0x6d,
|
||||
0x0,0x0,0x1,0x81,0xf2,0xd8,0x65,0x88,
|
||||
// :/picture/截图/截图_VirtualBox Machine_20220712192850.png
|
||||
0x0,0x0,0x1,0x2e,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x9,0x91,0x7a,
|
||||
0x0,0x0,0x1,0x3c,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x9,0x91,0x7a,
|
||||
0x0,0x0,0x1,0x81,0xf2,0x2c,0x4,0xa0,
|
||||
// :/picture/截图/截图_VirtualBox Machine_20220712191756.png
|
||||
0x0,0x0,0x4,0x5e,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x31,0x8f,0xdb,
|
||||
0x0,0x0,0x4,0x6c,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x31,0x8f,0xdb,
|
||||
0x0,0x0,0x1,0x81,0xf2,0x21,0xd7,0x28,
|
||||
// :/picture/截图/截图_VirtualBox Machine_20220712193527.png
|
||||
0x0,0x0,0x3,0x16,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x27,0x59,0x2,
|
||||
0x0,0x0,0x3,0x24,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x27,0x59,0x2,
|
||||
0x0,0x0,0x1,0x81,0xf2,0x32,0x2e,0xc0,
|
||||
// :/LANG/virtualmachine-en_US.qm
|
||||
0x0,0x0,0x4,0xf6,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x34,0x96,0x28,
|
||||
0x0,0x0,0x1,0x82,0xc5,0xe0,0x5a,0x58,
|
||||
// :/LANG/virtualmachine-en_US.ts
|
||||
0x0,0x0,0x4,0xc2,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x34,0x88,0x1b,
|
||||
0x0,0x0,0x1,0x82,0xc5,0xea,0xbd,0x5e,
|
||||
|
||||
};
|
||||
|
||||
@ -215420,6 +215760,16 @@ namespace QT_NAMESPACE {
|
||||
bool qRegisterResourceData(int, const unsigned char *, const unsigned char *, const unsigned char *);
|
||||
bool qUnregisterResourceData(int, const unsigned char *, const unsigned char *, const unsigned char *);
|
||||
|
||||
#if defined(__ELF__) || defined(__APPLE__)
|
||||
static inline unsigned char qResourceFeatureZlib()
|
||||
{
|
||||
extern const unsigned char qt_resourceFeatureZlib;
|
||||
return qt_resourceFeatureZlib;
|
||||
}
|
||||
#else
|
||||
unsigned char qResourceFeatureZlib();
|
||||
#endif
|
||||
|
||||
#ifdef QT_NAMESPACE
|
||||
}
|
||||
#endif
|
||||
@ -215437,6 +215787,7 @@ int QT_RCC_MANGLE_NAMESPACE(qCleanupResources___)();
|
||||
int QT_RCC_MANGLE_NAMESPACE(qCleanupResources___)()
|
||||
{
|
||||
int version = 3;
|
||||
version += QT_RCC_PREPEND_NAMESPACE(qResourceFeatureZlib());
|
||||
QT_RCC_PREPEND_NAMESPACE(qUnregisterResourceData)
|
||||
(version, qt_resource_struct, qt_resource_name, qt_resource_data);
|
||||
return 1;
|
||||
|
BIN
VM-source/qrc_图标.o
Executable file → Normal file
BIN
VM-source/qrc_图标.o
Executable file → Normal file
Binary file not shown.
0
VM-source/ui_mainwindow.h
Executable file → Normal file
0
VM-source/ui_mainwindow.h
Executable file → Normal file
1
VM-source/zh_CN.qm
Normal file
1
VM-source/zh_CN.qm
Normal file
@ -0,0 +1 @@
|
||||
<クdハ<>箆!ソ`。スン
|
176
VM-source/zh_CN.ts
Normal file
176
VM-source/zh_CN.ts
Normal file
@ -0,0 +1,176 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1">
|
||||
<context>
|
||||
<name>MainWindow</name>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="14"/>
|
||||
<source>Windows 应用适配工具</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="32"/>
|
||||
<location filename="mainwindow.ui" line="35"/>
|
||||
<source>设置</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="43"/>
|
||||
<source>镜像路径:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="50"/>
|
||||
<source>请选择系统镜像</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="57"/>
|
||||
<source>浏览……</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="68"/>
|
||||
<source>系统版本:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="78"/>
|
||||
<source>请选择系统类型(如果识别不了请自行选择,如果选择错误或不支持将无法进行自动安装)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="82"/>
|
||||
<source>Windows 7 32 位(支持自动安装)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="87"/>
|
||||
<source>Windows 7 64 位(支持自动安装)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="92"/>
|
||||
<source>其它 Windows 系统(不支持自动安装)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="117"/>
|
||||
<source>安装</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="126"/>
|
||||
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Noto Sans CJK SC'; font-size:10.5pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">使用迅雷或者网盘下载以下任意一个链接然后在上面选择即可:</span></p>
|
||||
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">(如果下载这个,系统版本选第一项,一般推荐这个)ed2k://|file|cn_windows_7_ultimate_with_sp1_x86_dvd_u_677486.iso|2653276160|7503E4B9B8738DFCB95872445C72AEFB|/</span></p>
|
||||
<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">(如果下载这个,系统版本选第二项)ed2k://|file|cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso|3420557312|B58548681854236C7939003B583A8078|/</span></p>
|
||||
<hr /></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="141"/>
|
||||
<source>安装/使用帮助</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="150"/>
|
||||
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Noto Sans CJK SC'; font-size:10.5pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:26pt; font-weight:600;">给小白的一段话</span></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">其实本质上跑完安装程序就没有然后了,顶多如果想要运行舒服一点点,可以安装加强功能,直接拉到最底下看就可以了</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">如果爱折腾的话,下面的都看看也无所谓的,想看往下翻就可以了</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">(如果鼠标被锁定到里面了按下键盘右边的“Ctrl”键就可以了)</p>
|
||||
<hr />
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:26pt; font-weight:600;"><br /></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:26pt; font-weight:600;"><br /></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:26pt; font-weight:600;"><br /></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:26pt; font-weight:600;"><br /></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:26pt; font-weight:600;"><br /></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:26pt; font-weight:600;"><br /></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:26pt; font-weight:600;"><br /></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:26pt; font-weight:600;"><br /></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:26pt; font-weight:600;"><br /></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:26pt; font-weight:600;"><br /></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:26pt; font-weight:600;"><br /></p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:26pt; font-weight:600;"><br /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:26pt; font-weight:600;">安装是否需要人工进行操作?</span></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">如果您下载的镜像本程序支持,则大部分不用,已经尽量省去了让新手头疼的虚拟机程序安装,创建、设置虚拟机,虚拟磁盘分区,寻找原版镜像文件等内容</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图/截图_VirtualBox Machine_20220712191756.png" /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">但有些设置依旧需要人工自行设置,例如安装界面密钥的输入、系统的激活(涉及版权问题,不会考虑省略)、增强功能的安装、需要使用的软件等等</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图/截图_VirtualBox Machine_20220712192850.png" /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图/截图_VirtualBox Machine_20220712193527.png" /></p>
|
||||
<hr />
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:26pt; font-weight:600;">什么样的镜像本程序(可能)不支持自动安装?</span></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">非 Windows 7 镜像可能不支持自动安装(纯的 Windows 7 企业版镜像可能不支持自动安装),不保证系统能自动安装成功,例如 Windows XP、Windows 10、Deepin、Ubuntu 等等</p>
|
||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p>
|
||||
<hr />
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:26pt; font-weight:600;">默认的虚拟机设置不习惯怎么改?</span></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">1、打开启动器,打开 Oracle VM VirtualBox 程序</span></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">2、选择名字为“Windows”的虚拟机,然后在右边点击设置</span></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图/截图_VirtualBox Manager_20220712223602.png" /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">3、在这里修改即可</span></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图/截图_VirtualBox_20220712223705.png" /></p>
|
||||
<hr />
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:26pt; font-weight:600;">安装加强功能有什么好处?</span></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">1、支持鼠标自由从虚拟机和实体机切换</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">2、支持虚拟机根据窗口大小自动设置分辨率</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">3、支持文件共享、剪切板共享、文件拖放</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">4、支持无缝模式</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图/截图_选择区域_20220712224639.png" /></p>
|
||||
<hr />
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:26pt; font-weight:600;">如何安装加强功能?</span></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">1、点击“设备”=》“加强功能”</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图_VirtualBox Machine_20220712142929.png" /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">2、打开“计算机”,找到名为“VirtualBox Guest Additions”的光盘,双击进入,然后双击打开名为“VBoxWindowsAdditions”的程序</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图/截图_VirtualBox Machine_20220712143006.png" /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">3、在弹出的界面点击“是”</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图/截图_VirtualBox Machine_20220712143018.png" /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">4、一直点“Next”</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图/截图_VirtualBox Machine_20220712143029.png" /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图/截图_VirtualBox Machine_20220712143037.png" /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">5、全部选择,然后点击“Install”进行安装</span></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图/截图_VirtualBox Machine_20220712143044.png" /></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">6、等待安装完毕后,选择“Reboot now”然后点击“Finish”重启此虚拟机即可安装成功(选择“Reboot now”并点“Finish”会自动重新启动)</span></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/picture/截图/截图_VirtualBox Machine_20220712143103.png" /></p></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="224"/>
|
||||
<location filename="mainwindow.ui" line="313"/>
|
||||
<source>关于</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="281"/>
|
||||
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||
p, li { white-space: pre-wrap; }
|
||||
</style></head><body style=" font-family:'Noto Sans CJK SC'; font-size:10.5pt; font-weight:400; font-style:normal;">
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">此为 wine 运行器附属组件(虽然违背了“Wine Is Not An Emulator”&lt;Wine 不是一个模拟器&gt;的原意),旨在能更加完美、简单的运行 Windows 应用</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">本程序基于 C++ Qt、Python 和 Virtualbox 制作,通过运行安装 Windows 操作系统的虚拟机实现在 Linux 运行 Windows exe 程序的功能。</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">基于 GPL V3 协议开源</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">项目地址:</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> Gitee:<a href="https://gitee.com/gfdgd-xi/deep-wine-runner"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://gitee.com/gfdgd-xi/deep-wine-runner</span></a></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> Github:<a href="https://github.com/gfdgd-xi/deep-wine-runner"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://github.com/gfdgd-xi/deep-wine-runner</span></a></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> Gitlink:<a href="https://gitlink.org.cn/gfdgd_xi/deep-wine-runner"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://gitlink.org.cn/gfdgd_xi/deep-wine-runner</span></a></p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">此组件也有非常大的缺点,就是相比于 Wine,会需要占用大量的空间、安装需要大量的时间、某些情况下需要相比于 Wine 需要消耗更多的系统资源,但可以更加完美、流畅的运行 Windows 应用,会尽量减少因为缺少或未实现导致的 Windows exe 程序运行异常</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">该组件制作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢</p>
|
||||
<hr />
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">参考文献:</p>
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Droid Sans Mono','monospace','monospace'; font-size:11pt; color:#6a9955;">https://juejin.cn/post/7080484519328874510</span></p></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="mainwindow.ui" line="308"/>
|
||||
<source>退出</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
@ -2,6 +2,8 @@
|
||||
<qresource prefix="/">
|
||||
<file>deepin-wine-runner.svg</file>
|
||||
<file>deepin-wine-runner.png</file>
|
||||
<file>LANG/virtualmachine-en_US.qm</file>
|
||||
<file>LANG/virtualmachine-en_US.ts</file>
|
||||
</qresource>
|
||||
<qresource prefix="/picture">
|
||||
<file>截图_VirtualBox Machine_20220712142929.png</file>
|
||||
|
Binary file not shown.
BIN
WineThemes/deepin.msstyles
Executable file
BIN
WineThemes/deepin.msstyles
Executable file
Binary file not shown.
212
WineThemes/deepin.reg
Normal file
212
WineThemes/deepin.reg
Normal file
@ -0,0 +1,212 @@
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
[HKEY_USERS\S-1-5-21-0-0-0-1000\Control Panel\Colors]
|
||||
"ActiveBorder"="212 208 200"
|
||||
"ActiveTitle"="14 14 14"
|
||||
"AppWorkSpace"="128 128 128"
|
||||
"Background"="59 59 59"
|
||||
"ButtonAlternateFace"="181 181 181"
|
||||
"ButtonDkShadow"="255 255 255"
|
||||
"ButtonFace"="250 250 250"
|
||||
"ButtonHilight"="255 255 255"
|
||||
"ButtonLight"="241 239 226"
|
||||
"ButtonShadow"="225 225 225"
|
||||
"ButtonText"="0 0 0"
|
||||
"GradientActiveTitle"="59 59 59"
|
||||
"GradientInactiveTitle"="88 88 88"
|
||||
"GrayText"="172 168 153"
|
||||
"Hilight"="0 170 255"
|
||||
"HilightText"="255 255 255"
|
||||
"HotTrackingColor"="100 139 203"
|
||||
"InactiveBorder"="212 208 200"
|
||||
"InactiveTitle"="59 59 59"
|
||||
"InactiveTitleText"="161 161 161"
|
||||
"InfoText"="0 0 0"
|
||||
"InfoWindow"="255 255 225"
|
||||
"Menu"="255 255 255"
|
||||
"MenuBar"="250 250 250"
|
||||
"MenuHilight"="0 170 255"
|
||||
"MenuText"="46 52 54"
|
||||
"Scrollbar"="212 208 200"
|
||||
"TitleText"="255 255 255"
|
||||
"Window"="255 255 255"
|
||||
"WindowFrame"="0 0 0"
|
||||
"WindowText"="0 0 0"
|
||||
|
||||
[HKEY_USERS\S-1-5-21-0-0-0-1000\Control Panel\Desktop]
|
||||
"ActiveWndTrackTimeout"=dword:00000000
|
||||
"BlockSendInputResets"="0"
|
||||
"CaretWidth"=dword:00000001
|
||||
"ClickLockTime"=dword:000004b0
|
||||
"DoubleClickHeight"="4"
|
||||
"DoubleClickWidth"="4"
|
||||
"DragFullWindows"="0"
|
||||
"DragHeight"="4"
|
||||
"DragWidth"="4"
|
||||
"FocusBorderHeight"=dword:00000001
|
||||
"FocusBorderWidth"=dword:00000001
|
||||
"FontSmoothing"="2"
|
||||
"FontSmoothingGamma"=dword:00000000
|
||||
"FontSmoothingOrientation"=dword:00000001
|
||||
"FontSmoothingType"=dword:00000001
|
||||
"ForegroundFlashCount"=dword:00000003
|
||||
"ForegroundLockTimeout"=dword:00000000
|
||||
"IconTitleWrap"="1"
|
||||
"LowPowerActive"="0"
|
||||
"MenuShowDelay"="400"
|
||||
"UserPreferencesMask"=hex:30,00,02,80,12,00,00,00
|
||||
"Wallpaper"=""
|
||||
"WheelScrollChars"="3"
|
||||
"WheelScrollLines"="3"
|
||||
|
||||
[HKEY_USERS\S-1-5-21-0-0-0-1000\Control Panel\Desktop\WindowMetrics]
|
||||
"BorderWidth"="1"
|
||||
"CaptionFont"=hex:09,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,bc,02,00,00,\
|
||||
00,00,00,86,00,00,00,22,8b,5b,53,4f,00,00,00,00,00,00,00,00,00,00,00,00,00,\
|
||||
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
|
||||
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
|
||||
"CaptionHeight"="-270"
|
||||
"CaptionWidth"="-270"
|
||||
"IconFont"=hex:0a,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,90,01,00,00,00,\
|
||||
00,00,01,00,00,00,00,8b,5b,53,4f,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
|
||||
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
|
||||
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
|
||||
"IconSpacing"="-1125"
|
||||
"IconTitleWrap"="1"
|
||||
"IconVerticalSpacing"="-1125"
|
||||
"MenuFont"=hex:09,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,90,01,00,00,00,\
|
||||
00,00,86,00,00,00,22,8b,5b,53,4f,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
|
||||
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
|
||||
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
|
||||
"MenuHeight"="-270"
|
||||
"MenuWidth"="-270"
|
||||
"MessageFont"=hex:09,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,90,01,00,00,\
|
||||
00,00,00,86,00,00,00,22,8b,5b,53,4f,00,00,00,00,00,00,00,00,00,00,00,00,00,\
|
||||
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
|
||||
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
|
||||
"PaddedBorderWidth"="0"
|
||||
"ScrollHeight"="-240"
|
||||
"ScrollWidth"="-240"
|
||||
"SmCaptionFont"=hex:f8,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,00,00,90,01,00,\
|
||||
00,00,00,00,01,00,00,00,00,8b,5b,53,4f,00,00,00,00,00,00,00,00,00,00,00,00,\
|
||||
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
|
||||
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
|
||||
"SmCaptionHeight"="-300"
|
||||
"SmCaptionWidth"="-300"
|
||||
"StatusFont"=hex:09,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,90,01,00,00,\
|
||||
00,00,00,86,00,00,00,22,8b,5b,53,4f,00,00,00,00,00,00,00,00,00,00,00,00,00,\
|
||||
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
|
||||
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
|
||||
|
||||
[HKEY_USERS\S-1-5-21-0-0-0-1000\Software\Wine\Temporary System Parameters\Control Panel]
|
||||
|
||||
[HKEY_USERS\S-1-5-21-0-0-0-1000\Software\Wine\Temporary System Parameters\Control Panel\Colors]
|
||||
"ActiveBorder"="212 208 200"
|
||||
"ActiveTitle"="14 14 14"
|
||||
"AppWorkSpace"="128 128 128"
|
||||
"Background"="59 59 59"
|
||||
"ButtonAlternateFace"="181 181 181"
|
||||
"ButtonDkShadow"="255 255 255"
|
||||
"ButtonFace"="250 250 250"
|
||||
"ButtonHilight"="255 255 255"
|
||||
"ButtonLight"="241 239 226"
|
||||
"ButtonShadow"="225 225 225"
|
||||
"ButtonText"="0 0 0"
|
||||
"GradientActiveTitle"="59 59 59"
|
||||
"GradientInactiveTitle"="88 88 88"
|
||||
"GrayText"="172 168 153"
|
||||
"Hilight"="0 170 255"
|
||||
"HilightText"="255 255 255"
|
||||
"HotTrackingColor"="100 139 203"
|
||||
"InactiveBorder"="212 208 200"
|
||||
"InactiveTitle"="59 59 59"
|
||||
"InactiveTitleText"="161 161 161"
|
||||
"InfoText"="0 0 0"
|
||||
"InfoWindow"="255 255 225"
|
||||
"Menu"="255 255 255"
|
||||
"MenuBar"="250 250 250"
|
||||
"MenuHilight"="0 170 255"
|
||||
"MenuText"="46 52 54"
|
||||
"Scrollbar"="212 208 200"
|
||||
"TitleText"="255 255 255"
|
||||
"Window"="255 255 255"
|
||||
"WindowFrame"="0 0 0"
|
||||
"WindowText"="0 0 0"
|
||||
|
||||
[HKEY_USERS\S-1-5-21-0-0-0-1000\Software\Wine\Temporary System Parameters\Control Panel\Desktop]
|
||||
|
||||
[HKEY_USERS\S-1-5-21-0-0-0-1000\Software\Wine\Temporary System Parameters\Control Panel\Desktop\WindowMetrics]
|
||||
|
||||
[HKEY_USERS\S-1-5-21-0-0-0-1000\Software\Wine\Temporary System Parameters\Control Panel\Mouse]
|
||||
|
||||
[HKEY_USERS\S-1-5-21-0-0-0-1000\Software\Wine\Temporary System Parameters\Control Panel\Sound]
|
||||
|
||||
[HKEY_USERS\S-1-5-21-0-0-0-1000\Software\Microsoft\Windows\CurrentVersion\ThemeManager]
|
||||
"ColorName"="NormalColor"
|
||||
"DllName"="C:\\windows\\Resources\\Themes\\deepin\\deepin.msstyles"
|
||||
"FlatMenu"=dword:00000000
|
||||
"GradientCaption"=dword:00000001
|
||||
"IconTitleFont"=hex:f4,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,00,00,90,01,00,\
|
||||
00,00,00,00,86,00,00,00,22,8b,5b,53,4f,00,00,00,00,00,00,00,00,00,00,00,00,\
|
||||
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
|
||||
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00
|
||||
"LoadedBefore"="1"
|
||||
"NonClientMetrics"=hex:f8,01,00,00,01,00,00,00,10,00,00,00,10,00,00,00,12,00,\
|
||||
00,00,12,00,00,00,09,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,bc,02,00,\
|
||||
00,00,00,00,86,00,00,00,22,8b,5b,53,4f,00,00,00,00,00,00,00,00,00,00,00,00,\
|
||||
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
|
||||
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,0f,00,\
|
||||
00,00,0f,00,00,00,f9,ff,ff,ff,00,00,00,00,00,00,00,00,00,00,00,00,90,01,00,\
|
||||
00,00,00,00,86,00,00,00,22,8b,5b,53,4f,00,00,00,00,00,00,00,00,00,00,00,00,\
|
||||
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
|
||||
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,12,00,\
|
||||
00,00,12,00,00,00,09,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,90,01,00,\
|
||||
00,00,00,00,86,00,00,00,22,8b,5b,53,4f,00,00,00,00,00,00,00,00,00,00,00,00,\
|
||||
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
|
||||
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,09,00,\
|
||||
00,00,00,00,00,00,00,00,00,00,00,00,00,00,90,01,00,00,00,00,00,86,00,00,00,\
|
||||
22,8b,5b,53,4f,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
|
||||
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
|
||||
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,09,00,00,00,00,00,00,00,00,00,\
|
||||
00,00,00,00,00,00,90,01,00,00,00,00,00,86,00,00,00,22,8b,5b,53,4f,00,00,00,\
|
||||
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
|
||||
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
|
||||
00,00,00,00,00,00,00,00,00,00,00
|
||||
"SizeName"="NormalSize"
|
||||
"ThemeActive"="1"
|
||||
|
||||
[HKEY_USERS\S-1-5-21-0-0-0-1000\Software\Microsoft\Windows\CurrentVersion\ThemeManager\Control Panel]
|
||||
|
||||
[HKEY_USERS\S-1-5-21-0-0-0-1000\Software\Microsoft\Windows\CurrentVersion\ThemeManager\Control Panel\Colors]
|
||||
"ActiveBorder"="212 208 200"
|
||||
"ActiveTitle"="10 36 106"
|
||||
"AppWorkSpace"="128 128 128"
|
||||
"Background"="58 110 165"
|
||||
"ButtonAlternateFace"="181 181 181"
|
||||
"ButtonDkShadow"="64 64 64"
|
||||
"ButtonFace"="212 208 200"
|
||||
"ButtonHilight"="255 255 255"
|
||||
"ButtonLight"="212 208 200"
|
||||
"ButtonShadow"="128 128 128"
|
||||
"ButtonText"="0 0 0"
|
||||
"GradientActiveTitle"="166 202 240"
|
||||
"GradientInactiveTitle"="192 192 192"
|
||||
"GrayText"="128 128 128"
|
||||
"Hilight"="10 36 106"
|
||||
"HilightText"="255 255 255"
|
||||
"HotTrackingColor"="0 0 200"
|
||||
"InactiveBorder"="212 208 200"
|
||||
"InactiveTitle"="128 128 128"
|
||||
"InactiveTitleText"="212 208 200"
|
||||
"InfoText"="0 0 0"
|
||||
"InfoWindow"="255 255 225"
|
||||
"Menu"="212 208 200"
|
||||
"MenuBar"="212 208 200"
|
||||
"MenuHilight"="10 36 106"
|
||||
"MenuText"="0 0 0"
|
||||
"Scrollbar"="212 208 200"
|
||||
"TitleText"="255 255 255"
|
||||
"Window"="255 255 255"
|
||||
"WindowFrame"="0 0 0"
|
||||
"WindowText"="0 0 0"
|
||||
|
@ -32,6 +32,15 @@ def InstallSparkWine(wine):
|
||||
###################
|
||||
# 程序功能
|
||||
###################
|
||||
print('''
|
||||
m m "
|
||||
# # # mmm m mm mmm
|
||||
" #"# # # #" # #" #
|
||||
## ##" # # # #""""
|
||||
# # mm#mm # # "#mm"
|
||||
|
||||
|
||||
''')
|
||||
print("请保证你能有 root 权限以便安装")
|
||||
print("如果有请按回车,否则按 [Ctrl+C] 退出", end=' ')
|
||||
input()
|
||||
|
@ -37,6 +37,15 @@ if __name__ == "__main__":
|
||||
sys.exit()
|
||||
|
||||
CleanTerminal()
|
||||
print('''
|
||||
mm mmmm m
|
||||
## mmmm mmmm #" " mm#mm mmm m mm mmm
|
||||
# # #" "# #" "# "#mmm # #" "# #" " #" #
|
||||
#mm# # # # # "# # # # # #""""
|
||||
# # ##m#" ##m#" "mmm#" "mm "#m#" # "#mm"
|
||||
# #
|
||||
" "
|
||||
''')
|
||||
while True:
|
||||
search = input(">")
|
||||
if search.replace(" ", "").replace("\n", "") == "":
|
||||
|
@ -19,7 +19,15 @@ if __name__ == "__main__":
|
||||
homePath = os.path.expanduser('~')
|
||||
while True:
|
||||
os.system("clear")
|
||||
os.system("toilet Fonts")
|
||||
print('''
|
||||
mmmmmm m
|
||||
# mmm m mm mm#mm mmm
|
||||
#mmmmm #" "# #" # # # "
|
||||
# # # # # # """m
|
||||
# "#m#" # # "mm "mmm"
|
||||
|
||||
|
||||
''')
|
||||
if not os.path.exists(f"{sys.argv[1]}/drive_c/windows/Fonts"):
|
||||
input("您选择的不是 Wine 容器,无法继续,按回车键退出")
|
||||
exit()
|
||||
|
@ -26,7 +26,26 @@ if len(sys.argv) <= 3 or sys.argv[1] == "" or sys.argv[2] == "" or sys.argv[3] =
|
||||
print("参数一为需要安装的容器,参数二为需要使用的wine,参数三为安装gecko或mono(gecko/mono),参数四为是否缓存(可略),四个参数位置不能颠倒")
|
||||
sys.exit()
|
||||
|
||||
os.system(f"toilet '{sys.argv[3]}'")
|
||||
if sys.argv[3] == "mono":
|
||||
print('''
|
||||
m m
|
||||
## ## mmm m mm mmm
|
||||
# ## # #" "# #" # #" "#
|
||||
# "" # # # # # # #
|
||||
# # "#m#" # # "#m#"
|
||||
|
||||
|
||||
''')
|
||||
else:
|
||||
print('''
|
||||
mmm #
|
||||
m" " mmm mmm # m mmm
|
||||
# mm #" # #" " # m" #" "#
|
||||
# # #"""" # #"# # #
|
||||
"mmm" "#mm" "#mm" # "m "#m#"
|
||||
|
||||
|
||||
''')
|
||||
homePath = os.path.expanduser('~')
|
||||
try:
|
||||
# 获取最新版本的版本号
|
||||
|
@ -26,7 +26,15 @@ if len(sys.argv) <= 2 or sys.argv[1] == "" or sys.argv[2] == "":
|
||||
sys.exit()
|
||||
|
||||
homePath = os.path.expanduser('~')
|
||||
os.system("toilet MSXML")
|
||||
print('''
|
||||
m m mmmm m m m m m
|
||||
## ## #" " # # ## ## #
|
||||
# ## # "#mmm ## # ## # #
|
||||
# "" # "# m""m # "" # #
|
||||
# # "mmm#" m" "m # # #mmmmm
|
||||
|
||||
|
||||
''')
|
||||
msxmlList = [
|
||||
["MSXML 4.0 SP2", "https://www.gitlink.org.cn/api/attachments/390679?gfdgd_xi", "msxml6.0.msi"],
|
||||
["MSXML 4.0 SP3", "https://www.gitlink.org.cn/api/attachments/390678?gfdgd_xi", "msxml4.0SP3.msi"],
|
||||
|
@ -26,7 +26,15 @@ if len(sys.argv) <= 2 or sys.argv[1] == "" or sys.argv[2] == "":
|
||||
sys.exit()
|
||||
|
||||
homePath = os.path.expanduser('~')
|
||||
os.system("toilet .NET")
|
||||
print('''
|
||||
mm m mmmmmmmmmmmmm
|
||||
#"m # # #
|
||||
# #m # #mmmmm #
|
||||
# # # # #
|
||||
# # ## #mmmmm #
|
||||
|
||||
|
||||
''')
|
||||
netList = [
|
||||
["3.5 SP1 Offline Installer", "https://download.visualstudio.microsoft.com/download/pr/b635098a-2d1d-4142-bef6-d237545123cb/2651b87007440a15209cac29634a4e45/dotnetfx35.exe"],
|
||||
["4.0 Offline Installer", "https://download.microsoft.com/download/9/5/A/95A9616B-7A37-4AF6-BC36-D6EA96C8DAAE/dotNetFx40_Full_x86_x64.exe"],
|
||||
|
@ -1,4 +1,13 @@
|
||||
#!/bin/bash
|
||||
echo
|
||||
echo 'm m " m m mmmm '
|
||||
echo '# # # mmm m mm mmm # # m" "m'
|
||||
echo '" #"# # # #" # #" # #mmmm# # #'
|
||||
echo ' ## ##" # # # #"""" # # # #'
|
||||
echo ' # # mm#mm # # "#mm" # # #mm#"'
|
||||
echo ' # '
|
||||
|
||||
|
||||
ubuntuSource=(
|
||||
"sudo wget -nc -P /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/jammy/winehq-jammy.sources"
|
||||
"sudo wget -nc -P /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/impish/winehq-impish.sources"
|
||||
@ -11,7 +20,6 @@ debianSource=(
|
||||
"sudo wget -nc -P /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/debian/dists/bookworm/winehq-bookworm.sources"
|
||||
)
|
||||
# 选择发行版
|
||||
toilet WineHQ
|
||||
echo "WineHQ 官网:https://wiki.winehq.org/"
|
||||
echo
|
||||
echo "选择发行版:"
|
||||
|
@ -26,7 +26,15 @@ if len(sys.argv) <= 2 or sys.argv[1] == "" or sys.argv[2] == "":
|
||||
sys.exit()
|
||||
|
||||
homePath = os.path.expanduser('~')
|
||||
os.system("toilet Other")
|
||||
print('''
|
||||
mmmm m #
|
||||
m" "m mm#mm # mm mmm m mm
|
||||
# # # #" # #" # #" "
|
||||
# # # # # #"""" #
|
||||
#mm# "mm # # "#mm" #
|
||||
|
||||
|
||||
''')
|
||||
msxmlList = [
|
||||
["Windows Script 5.7 for Windows XP", "https://download.microsoft.com/download/f/f/e/ffea3abf-b55f-4924-b5a5-bde0805ad67c/scripten.exe", "exe", "scripten.exe"],
|
||||
["Windows Management Instrumentation 1.50.1131", "https://www.gitlink.org.cn/api/attachments/390680", "exe", "WMITools.exe"]
|
||||
|
@ -26,7 +26,15 @@ if len(sys.argv) <= 2 or sys.argv[1] == "" or sys.argv[2] == "":
|
||||
sys.exit()
|
||||
|
||||
homePath = os.path.expanduser('~')
|
||||
os.system("toilet VC++")
|
||||
print('''
|
||||
m m mmm
|
||||
"m m" m" " m m
|
||||
# # # # #
|
||||
"mm" # """#""""""#"""
|
||||
## "mmm" # #
|
||||
|
||||
|
||||
''')
|
||||
netList = [
|
||||
["2005 Service Pack 1 Redistributable Package MFC 安全更新", "https://download.microsoft.com/download/4/A/2/4A22001F-FA3B-4C13-BF4E-42EC249D51C4/vcredist_x86.EXE", "vcredist05_x86.exe"],
|
||||
["2008 (VC++ 9.0) SP1 (不再支持) ", "https://download.microsoft.com/download/5/D/8/5D8C65CB-C849-4025-8E95-C3966CAFD8AE/vcredist_x86.exe", "vcredist08_x86.exe"],
|
||||
|
@ -45,6 +45,15 @@ def Repair():
|
||||
print("修复完成!")
|
||||
|
||||
if __name__ == "__main__":
|
||||
print('''
|
||||
m m "
|
||||
# # # mmm m mm mmm
|
||||
" #"# # # #" # #" #
|
||||
## ##" # # # #""""
|
||||
# # mm#mm # # "#mm"
|
||||
|
||||
|
||||
''')
|
||||
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
|
||||
print("能不用这个就不用这个!!!真心建议!!!\n")
|
||||
print("下面的安装过程皆需要换源等操作,安装过程千万不要中断,以及千万不要 apt upgrade,感谢\n")
|
||||
|
Binary file not shown.
BIN
deb/opt/apps/deepin-wine-runner/LANG/deepin-wine-runner-en_US.qm
Normal file
BIN
deb/opt/apps/deepin-wine-runner/LANG/deepin-wine-runner-en_US.qm
Normal file
Binary file not shown.
BIN
deb/opt/apps/deepin-wine-runner/LANG/installwine-en_US.qm
Normal file
BIN
deb/opt/apps/deepin-wine-runner/LANG/installwine-en_US.qm
Normal file
Binary file not shown.
BIN
deb/opt/apps/deepin-wine-runner/LANG/virtualmachine-en_US.qm
Normal file
BIN
deb/opt/apps/deepin-wine-runner/LANG/virtualmachine-en_US.qm
Normal file
Binary file not shown.
@ -1,3 +1,11 @@
|
||||
echo
|
||||
echo ' mmm # '
|
||||
echo ' m" " mmm mmm # m '
|
||||
echo ' # mm #" # #" # # m" '
|
||||
echo ' # # #"""" #"""" #"# '
|
||||
echo ' "mmm" "#mm" "#mm" # "m '
|
||||
echo
|
||||
echo
|
||||
cd /tmp
|
||||
echo 提示:
|
||||
echo Geek Uninstaller 官网访问较慢,所以请耐心等待
|
||||
|
Binary file not shown.
@ -2,6 +2,15 @@
|
||||
import os
|
||||
|
||||
if __name__ == "__main__":
|
||||
print('''
|
||||
mmm ""#
|
||||
m" " # mmm mmm m mm
|
||||
# # #" # " # #" #
|
||||
# # #"""" m"""# # #
|
||||
"mmm" "mm "#mm" "mm"# # #
|
||||
|
||||
|
||||
''')
|
||||
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
|
||||
print("此程序可以帮助您删除程序无需的组件以节约空间")
|
||||
print("如果全部删除,将只会有核心功能")
|
||||
@ -79,6 +88,7 @@ if __name__ == "__main__":
|
||||
f"{programPath}/InstallWineOnDeepin23.py",
|
||||
f"{programPath}/sparkstore.list",
|
||||
f"{programPath}/InstallNewWineHQ.sh",
|
||||
f"{programPath}/wine",
|
||||
"/usr/bin/deepin-wine-runner-wine-installer",
|
||||
"/usr/bin/deepin-wine-runner-wine-install-deepin23",
|
||||
"/usr/bin/deepin-wine-runner-wine-install",
|
||||
|
@ -1,7 +1,7 @@
|
||||
#!/usr/bin/env python3
|
||||
#########################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布
|
||||
# 版本:1.9.0
|
||||
# 版本:2.0.1
|
||||
# 感谢:感谢 deepin-wine 团队,提供了 deepin-wine 给大家使用,让我能做这个程序
|
||||
# 基于 Python3 的 PyQt5 构建
|
||||
#########################################################################
|
||||
@ -10,6 +10,7 @@
|
||||
#################
|
||||
import os
|
||||
import sys
|
||||
import time
|
||||
import json
|
||||
import shutil
|
||||
import random
|
||||
@ -26,17 +27,17 @@ import PyQt5.QtWidgets as QtWidgets
|
||||
#################
|
||||
|
||||
def button1_cl():
|
||||
path = QtWidgets.QFileDialog.getExistingDirectory(widget, "选择 wine 容器", f"{get_home()}/.deepinwine")
|
||||
path = QtWidgets.QFileDialog.getExistingDirectory(QtCore.QCoreApplication.translate("U", "选择 wine 容器"), f"{get_home()}/.deepinwine")
|
||||
if path != "":
|
||||
e6_text.setText(path)
|
||||
|
||||
def button2_cl():
|
||||
path = QtWidgets.QFileDialog.getOpenFileName(widget, "选择图标文件", get_home(), "PNG图标(*.png);;SVG图标(*.svg);;全部文件(*.*)")[0]
|
||||
path = QtWidgets.QFileDialog.getOpenFileName(widget, QtCore.QCoreApplication.translate("U", "选择图标文件"), get_home(), "PNG图标(*.png);;SVG图标(*.svg);;全部文件(*.*)")[0]
|
||||
if path != "":
|
||||
e9_text.setText(path)
|
||||
|
||||
def button4_cl():
|
||||
path = QtWidgets.QFileDialog.getSaveFileName(widget, "保存 deb 包", get_home(), "deb 文件(*.deb);;所有文件(*.*)", "{}_{}_i386.deb".format(e1_text.text(), e2_text.text()))[0]
|
||||
path = QtWidgets.QFileDialog.getSaveFileName(widget, QtCore.QCoreApplication.translate("U", "保存 deb 包"), get_home(), "deb 文件(*.deb);;所有文件(*.*)", "{}_{}_i386.deb".format(e1_text.text(), e2_text.text()))[0]
|
||||
if path != "":
|
||||
e12_text.setText(path)
|
||||
|
||||
@ -65,13 +66,32 @@ def disabled_or_NORMAL_all(choose):
|
||||
rmBash.setDisabled(choose)
|
||||
cleanBottonByUOS.setDisabled(choose)
|
||||
installDeb.setDisabled(choose)
|
||||
useInstallWineArch.setDisabled(choose)
|
||||
buildDebDir.setDisabled(choose)
|
||||
debDepends.setDisabled(choose)
|
||||
debRecommend.setDisabled(choose)
|
||||
if not choose:
|
||||
ChangeArchCombobox()
|
||||
ChangeWine()
|
||||
|
||||
class QT:
|
||||
thread = None
|
||||
|
||||
def make_deb():
|
||||
savePath = ""
|
||||
savePathBlock = False
|
||||
def SavePathGet(temp):
|
||||
global savePath
|
||||
global savePathBlock
|
||||
savePath = QtWidgets.QFileDialog.getExistingDirectory(widget, "选择模板生成位置", get_home())
|
||||
savePathBlock = True
|
||||
|
||||
def ErrorMsg(info):
|
||||
QtWidgets.QMessageBox.critical(widget, "错误", info)
|
||||
|
||||
def InfoMsg(info):
|
||||
QtWidgets.QMessageBox.information(widget, "提示", info)
|
||||
|
||||
def make_deb(build=False):
|
||||
clean_textbox1_things()
|
||||
disabled_or_NORMAL_all(False)
|
||||
if e1_text.text() == "" or e2_text.text() == "" or e3_text.text() == "" or e4_text.text() == "" or e5_text.text() == "" or e6_text.text() == "" or e7_text.text() == "" or e8_text.text() == "" or e12_text.text() == "":
|
||||
@ -79,13 +99,17 @@ def make_deb():
|
||||
disabled_or_NORMAL_all(True)
|
||||
label13_text_change("必填信息没有填写完整,无法继续构建 deb 包")
|
||||
return
|
||||
if QtWidgets.QMessageBox.question(widget, "提示", "打包将会改动现在选择的容器,是否继续?") == QtWidgets.QMessageBox.No:
|
||||
if QtWidgets.QMessageBox.question(widget, QtCore.QCoreApplication.translate("U", "提示"), QtCore.QCoreApplication.translate("U", "打包将会改动现在选择的容器,是否继续?")) == QtWidgets.QMessageBox.No:
|
||||
disabled_or_NORMAL_all(True)
|
||||
return
|
||||
#thread = threading.Thread(target=make_deb_threading)
|
||||
QT.thread = make_deb_threading()
|
||||
QT.thread = make_deb_threading(build)
|
||||
QT.thread.signal.connect(chang_textbox1_things)
|
||||
QT.thread.label.connect(label13_text_change)
|
||||
QT.thread.getSavePath.connect(SavePathGet)
|
||||
QT.thread.errorMsg.connect(ErrorMsg)
|
||||
QT.thread.infoMsg.connect(InfoMsg)
|
||||
QT.thread.disabled_or_NORMAL_all.connect(disabled_or_NORMAL_all)
|
||||
QT.thread.start()
|
||||
#thread.start()
|
||||
|
||||
@ -94,10 +118,17 @@ def label13_text_change(thing):
|
||||
label13_text.setText(f"<p align='center'>当前 deb 打包情况:{thing}</p>")
|
||||
|
||||
class make_deb_threading(QtCore.QThread):
|
||||
|
||||
signal = QtCore.pyqtSignal(str)
|
||||
label = QtCore.pyqtSignal(str)
|
||||
def __init__(self) -> None:
|
||||
getSavePath = QtCore.pyqtSignal(str)
|
||||
errorMsg = QtCore.pyqtSignal(str)
|
||||
infoMsg = QtCore.pyqtSignal(str)
|
||||
disabled_or_NORMAL_all = QtCore.pyqtSignal(bool)
|
||||
build = False
|
||||
def __init__(self, build) -> None:
|
||||
super().__init__()
|
||||
self.build = build
|
||||
|
||||
def run_command(self, command):
|
||||
res = subprocess.Popen([command], shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
||||
@ -154,14 +185,17 @@ class make_deb_threading(QtCore.QThread):
|
||||
imms = ".svg"
|
||||
a = "/opt/apps/{}/entries/icons/hicolor/scalable/apps/{}.{}".format(e1_text.text(), e1_text.text(), imms)
|
||||
if not os.path.exists(e9_text.text()):
|
||||
QtWidgets.QMessageBox.critical(widget, "错误", "图标的路径填写错误,无法进行构建 deb 包")
|
||||
disabled_or_NORMAL_all(True)
|
||||
self.errorMsg.emit("图标的路径填写错误,无法进行构建 deb 包")
|
||||
self.disabled_or_NORMAL_all.emit(True)
|
||||
self.label.emit("图标的路径填写错误,无法进行构建 deb 包")
|
||||
return
|
||||
if not os.path.exists(e6_text.text()):
|
||||
QtWidgets.QMessageBox.critical(widget, "错误", "路径填写错误,无法继续构建 deb 包")
|
||||
disabled_or_NORMAL_all(True)
|
||||
print("aa")
|
||||
self.errorMsg.emit("路径填写错误,无法继续构建 deb 包")
|
||||
print("aaa1")
|
||||
self.disabled_or_NORMAL_all.emit(True)
|
||||
self.label.emit("容器路径填写错误,无法进行构建 deb 包")
|
||||
print("bbb")
|
||||
return
|
||||
debInformation = [
|
||||
{
|
||||
@ -173,7 +207,7 @@ class make_deb_threading(QtCore.QThread):
|
||||
f"{wine[wineVersion.currentText()]}, spark-dwine-helper (>= 1.6.2), fonts-wqy-microhei, fonts-wqy-zenhei"
|
||||
][int(chooseWineHelperValue.isChecked())],
|
||||
"postinst": "",
|
||||
"postrm": ["", f"""#!/bin/bash
|
||||
"postrm": ["", f"""#!/bin/bash..
|
||||
|
||||
if [ "$1" = "remove" ] || [ "$1" = "purge" ];then
|
||||
|
||||
@ -647,12 +681,108 @@ WINEPREFIX=$BOTTLE $EMU $EMU_ARGS $WINE "$EXE" --disable-gpu &""",
|
||||
}}
|
||||
}}'''}
|
||||
]
|
||||
print("c")
|
||||
if os.path.exists(wine[wineVersion.currentText()]):
|
||||
debInformation[0]["Depends"] = ["deepin-wine-helper (>= 5.1.30-1)",
|
||||
"spark-dwine-helper (>= 1.6.2)"
|
||||
][int(chooseWineHelperValue.isChecked())] #+ ["", "libasound2 (>= 1.0.16), libc6 (>= 2.28), libglib2.0-0 (>= 2.12.0), libgphoto2-6 (>= 2.5.10), libgphoto2-port12 (>= 2.5.10), libgstreamer-plugins-base1.0-0 (>= 1.0.0), libgstreamer1.0-0 (>= 1.4.0), liblcms2-2 (>= 2.2+git20110628), libldap-2.4-2 (>= 2.4.7), libmpg123-0 (>= 1.13.7), libopenal1 (>= 1.14), libpcap0.8 (>= 0.9.8), libpulse0 (>= 0.99.1), libudev1 (>= 183), libvkd3d1 (>= 1.0), libx11-6, libxext6, libxml2 (>= 2.9.0), ocl-icd-libopencl1 | libopencl1, udis86, zlib1g (>= 1:1.1.4), libasound2-plugins, libncurses6 | libncurses5 | libncurses, deepin-wine-plugin-virtual\nRecommends: libcapi20-3, libcups2, libdbus-1-3, libfontconfig1, libfreetype6, libglu1-mesa | libglu1, libgnutls30 | libgnutls28 | libgnutls26, libgsm1, libgssapi-krb5-2, libjpeg62-turbo | libjpeg8, libkrb5-3, libodbc1, libosmesa6, libpng16-16 | libpng12-0, libsane | libsane1, libsdl2-2.0-0, libtiff5, libv4l-0, libxcomposite1, libxcursor1, libxfixes3, libxi6, libxinerama1, libxrandr2, libxrender1, libxslt1.1, libxxf86vm1"][]
|
||||
print("d")
|
||||
debInformation[0]["run.sh"] = f'''#!/bin/sh
|
||||
|
||||
# Copyright (C) 2016 Deepin, Inc.
|
||||
#
|
||||
# Author: Li LongYu <lilongyu@linuxdeepin.com>
|
||||
# Peng Hao <penghao@linuxdeepin.com>
|
||||
|
||||
version_gt() {{ test "$(echo "$@" | tr " " "\n" | sort -V | head -n 1)" != "$1"; }}
|
||||
|
||||
extract_archive()
|
||||
{{
|
||||
archive=$1
|
||||
version_file=$2
|
||||
dest_dir=$3
|
||||
if [ -f "$archive" ] && [ -n "$dest_dir" ] && [ "$dest_dir" != "." ];then
|
||||
archive_version=`cat $version_file`
|
||||
if [ -d "$dest_dir" ];then
|
||||
if [ -f "$dest_dir/VERSION" ];then
|
||||
dest_version=`cat $dest_dir/VERSION`
|
||||
if version_gt "$archive_version" "$dest_version";then
|
||||
7z x "$archive" -o/"$dest_dir" -aoa
|
||||
echo "$archive_version" > "$dest_dir/VERSION"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
mkdir -p $dest_dir
|
||||
7z x "$archive" -o/"$dest_dir" -aoa
|
||||
echo "$archive_version" > "$dest_dir/VERSION"
|
||||
fi
|
||||
fi
|
||||
}}
|
||||
|
||||
BOTTLENAME="{e5_text.text()}"
|
||||
APPVER="{e2_text.text()}"
|
||||
EXEC_PATH="{e7_text.text()}"
|
||||
START_SHELL_PATH="{["/opt/deepinwine/tools/run_v4.sh", "/opt/deepinwine/tools/spark_run_v4.sh"][int(chooseWineHelperValue.isChecked())]}"
|
||||
export MIME_TYPE=""
|
||||
export DEB_PACKAGE_NAME="{e1_text.text()}"
|
||||
export APPRUN_CMD="$HOME/.deepinwine/{os.path.basename(wine[wineVersion.currentText()]).replace('.7z', '')}/bin/{useInstallWineArch.currentText()}"
|
||||
export PATCH_LOADER_ENV=""
|
||||
export FILEDLG_PLUGIN="/opt/apps/$DEB_PACKAGE_NAME/files/gtkGetFileNameDlg"
|
||||
DISABLE_ATTACH_FILE_DIALOG="1"
|
||||
export SPECIFY_SHELL_DIR=`dirname $START_SHELL_PATH`
|
||||
|
||||
DEEPIN_WINE_BIN_DIR=`dirname $APPRUN_CMD`
|
||||
DEEPIN_WINE_DIR=`dirname $DEEPIN_WINE_BIN_DIR`
|
||||
ARCHIVE_FILE_DIR="/opt/apps/$DEB_PACKAGE_NAME/files"
|
||||
|
||||
if [ -n "$PATCH_LOADER_ENV" ] && [ -n "$EXEC_PATH" ];then
|
||||
export $PATCH_LOADER_ENV
|
||||
fi
|
||||
|
||||
extract_archive "$ARCHIVE_FILE_DIR/wine_archive.7z" "$ARCHIVE_FILE_DIR/wine_archive.md5sum" "$DEEPIN_WINE_DIR"
|
||||
|
||||
if [ -d "$DEEPIN_WINE_BIN_DIR" ] && [ "$DEEPIN_WINE_BIN_DIR" != "." ];then
|
||||
export DEEPIN_WINE_BIN_DIR
|
||||
fi
|
||||
|
||||
if [ -z "$DISABLE_ATTACH_FILE_DIALOG" ];then
|
||||
export ATTACH_FILE_DIALOG=1
|
||||
fi
|
||||
|
||||
if [ -n "$EXEC_PATH" ];then
|
||||
$START_SHELL_PATH $BOTTLENAME $APPVER "$EXEC_PATH" "$@"
|
||||
else
|
||||
$START_SHELL_PATH $BOTTLENAME $APPVER "uninstaller.exe" "$@"
|
||||
fi
|
||||
'''
|
||||
|
||||
#############
|
||||
# 删除文件
|
||||
#############
|
||||
self.label.emit("正在删除对构建 deb 包有影响的文件……")
|
||||
debPackagePath = f"/tmp/{random.randint(0, 9999)}"
|
||||
self.run_command(f"rm -rfv /tmp/{debPackagePath}")
|
||||
if self.build:
|
||||
global savePath
|
||||
global savePathBlock
|
||||
savePathBlock = False
|
||||
self.getSavePath.emit("")
|
||||
# 必须保证信号完全执行才可以继续
|
||||
# 所以自制信号锁
|
||||
while not savePathBlock:
|
||||
time.sleep(0.1)
|
||||
#
|
||||
if savePath == "":
|
||||
print("ggg")
|
||||
self.disabled_or_NORMAL_all.emit(True)
|
||||
return
|
||||
print("aaa")
|
||||
debPackagePath = savePath
|
||||
print("g")
|
||||
else:
|
||||
debPackagePath = f"/tmp/{random.randint(0, 9999)}"
|
||||
#self.run_command(f"rm -rfv /tmp/{debPackagePath}")
|
||||
print("f")
|
||||
self.run_command(f"rm -rfv '{debPackagePath}'")
|
||||
print("d")
|
||||
###############
|
||||
# 创建目录
|
||||
###############
|
||||
@ -697,6 +827,17 @@ WINEPREFIX=$BOTTLE $EMU $EMU_ARGS $WINE "$EXE" --disable-gpu &""",
|
||||
self.run_command(f"rm -fv '{b}/drive_c/users/@current_user@/Templates'")
|
||||
os.chdir(programPath)
|
||||
###############
|
||||
# 压缩 Wine
|
||||
###############
|
||||
print("e")
|
||||
self.label.emit("正在处理 Wine")
|
||||
if os.path.exists(wine[wineVersion.currentText()]):
|
||||
shutil.copy(f"{programPath}/gtkGetFileNameDlg", f"{debPackagePath}/opt/apps/{e1_text.text()}/files/gtkGetFileNameDlg")
|
||||
if wine[wineVersion.currentText()][-3:] == ".7z":
|
||||
shutil.copy(wine[wineVersion.currentText()], f"{debPackagePath}/opt/apps/{e1_text.text()}/files/wine_archive.7z")
|
||||
else:
|
||||
self.run_command(f"7z a '{debPackagePath}/opt/apps/{e1_text.text()}/files/wine_archive.7z' '{wine[wineVersion.currentText()]}/*'")
|
||||
###############
|
||||
# 压缩容器
|
||||
###############
|
||||
self.label.emit("正在打包 wine 容器")
|
||||
@ -705,6 +846,8 @@ WINEPREFIX=$BOTTLE $EMU $EMU_ARGS $WINE "$EXE" --disable-gpu &""",
|
||||
# 复制文件
|
||||
###############
|
||||
self.label.emit("正在复制文件……")
|
||||
if os.path.exists(wine[wineVersion.currentText()]):
|
||||
shutil.copy(f"{programPath}/gtkGetFileNameDlg", f"{debPackagePath}/opt/apps/{e1_text.text()}/files")
|
||||
# arm64 box86 需要复制 dlls-arm 目录
|
||||
if debArch.currentIndex() == 1:
|
||||
if not os.path.exists(f"{programPath}/dlls-arm"):
|
||||
@ -732,7 +875,8 @@ WINEPREFIX=$BOTTLE $EMU $EMU_ARGS $WINE "$EXE" --disable-gpu &""",
|
||||
# 写入文本文档
|
||||
################
|
||||
self.label.emit("正在写入文件……")
|
||||
write_txt(f"{debPackagePath}/DEBIAN/control", f'''Package: {e1_text.text()}
|
||||
if debRecommend.text() == "":
|
||||
write_txt(f"{debPackagePath}/DEBIAN/control", f'''Package: {e1_text.text()}
|
||||
Version: {e2_text.text()}
|
||||
Architecture: {debInformation[debArch.currentIndex()]["Architecture"]}
|
||||
Maintainer: {e4_text.text()}
|
||||
@ -742,6 +886,19 @@ Priority: optional
|
||||
Multi-Arch: foreign
|
||||
Installed-Size: {size}
|
||||
Description: {e3_text.text()}
|
||||
''')
|
||||
else:
|
||||
write_txt(f"{debPackagePath}/DEBIAN/control", f'''Package: {e1_text.text()}
|
||||
Version: {e2_text.text()}
|
||||
Architecture: {debInformation[debArch.currentIndex()]["Architecture"]}
|
||||
Maintainer: {e4_text.text()}
|
||||
Depends: {debInformation[debArch.currentIndex()]["Depends"]}
|
||||
Recommends: {debRecommend.text()}
|
||||
Section: non-free/otherosfs
|
||||
Priority: optional
|
||||
Multi-Arch: foreign
|
||||
Installed-Size: {size}
|
||||
Description: {e3_text.text()}
|
||||
''')
|
||||
if debInformation[debArch.currentIndex()]["postinst"] != "":
|
||||
write_txt(f"{debPackagePath}/DEBIAN/postinst", debInformation[debArch.currentIndex()]["postinst"])
|
||||
@ -762,20 +919,21 @@ Description: {e3_text.text()}
|
||||
################
|
||||
# 构建 deb 包
|
||||
################
|
||||
self.label.emit("正在构建 deb 包……")
|
||||
self.run_command("dpkg -b {} {}".format(debPackagePath, e12_text.text()))
|
||||
if not self.build:
|
||||
self.label.emit("正在构建 deb 包……")
|
||||
self.run_command("dpkg -b {} {}".format(debPackagePath, e12_text.text()))
|
||||
################
|
||||
# 完成构建
|
||||
################
|
||||
self.label.emit("完成构建!")
|
||||
disabled_or_NORMAL_all(True)
|
||||
QtWidgets.QMessageBox.information(widget, "提示", "打包完毕!")
|
||||
self.disabled_or_NORMAL_all.emit(True)
|
||||
self.infoMsg.emit("打包完毕!")
|
||||
except:
|
||||
traceback.print_exc()
|
||||
QtWidgets.QMessageBox.critical(widget, "错误", "程序出现错误,错误信息:\n{}".format(traceback.format_exc()))
|
||||
self.errorMsg.emit("程序出现错误,错误信息:\n{}".format(traceback.format_exc()))
|
||||
self.label.emit("deb 包构建出现错误")
|
||||
self.signal.emit(traceback.format_exc())
|
||||
disabled_or_NORMAL_all(True)
|
||||
self.disabled_or_NORMAL_all.emit(True)
|
||||
|
||||
# 写入文本文档
|
||||
def write_txt(path, things):
|
||||
@ -834,20 +992,59 @@ def ChangeArchCombobox():
|
||||
option = False
|
||||
chooseWineHelperValue.setEnabled(option)
|
||||
wineVersion.setEnabled(option)
|
||||
|
||||
#chooseWineHelperValue.setEnabled(option)
|
||||
useInstallWineArch.setEnabled(option)
|
||||
rmBash.setEnabled(option)
|
||||
if debArch.currentIndex() == 0:
|
||||
ChangeWine()
|
||||
elif debArch.currentIndex() == 1:
|
||||
debDepends.setText("deepin-elf-verify (>= 0.0.16.7-1), com.deepin-wine6-stable.deepin(>=6.0deepin14), com.deepin-box86.deepin(>=0.2.3deepin8), p7zip-full, fonts-wqy-microhei, fonts-noto-cjk")
|
||||
elif debArch.currentIndex() == 2:
|
||||
debDepends.setText("zenity, com.deepin-wine6-stable.deepin(>=6.0deepin14), deepin-wine-exagear-images(>=10deepin4), com.deepin-box86.deepin(>=0.2.3deepin9), p7zip-full, fonts-wqy-microhei, fonts-noto-cjk")
|
||||
|
||||
def InstallDeb():
|
||||
os.system(f"xdg-open '{e12_text.text()}'")
|
||||
|
||||
def ChangeWine():
|
||||
useInstallWineArch.setEnabled(os.path.exists(wine[wineVersion.currentText()]))
|
||||
debDepends.setText([f"{wine[wineVersion.currentText()]}, deepin-wine-helper (>= 5.1.30-1), fonts-wqy-microhei, fonts-wqy-zenhei",
|
||||
f"{wine[wineVersion.currentText()]}, spark-dwine-helper (>= 1.6.2), fonts-wqy-microhei, fonts-wqy-zenhei"
|
||||
][int(chooseWineHelperValue.isChecked())])
|
||||
debRecommend.setText("")
|
||||
if os.path.exists(wine[wineVersion.currentText()]):
|
||||
debDepends.setText(["deepin-wine-helper (>= 5.1.30-1)",
|
||||
"spark-dwine-helper (>= 1.6.2)"
|
||||
][int(chooseWineHelperValue.isChecked())])
|
||||
if "deepin-wine5-stable" in wine[wineVersion.currentText()]:
|
||||
debDepends.setText("libasound2 (>= 1.0.16), libc6 (>= 2.28), libglib2.0-0 (>= 2.12.0), libgphoto2-6 (>= 2.5.10), libgphoto2-port12 (>= 2.5.10), libgstreamer-plugins-base1.0-0 (>= 1.0.0), libgstreamer1.0-0 (>= 1.4.0), liblcms2-2 (>= 2.2+git20110628), libldap-2.4-2 (>= 2.4.7), libmpg123-0 (>= 1.13.7), libopenal1 (>= 1.14), libpcap0.8 (>= 0.9.8), libpulse0 (>= 0.99.1), libudev1 (>= 183), libvkd3d1 (>= 1.0), libx11-6, libxext6, libxml2 (>= 2.9.0), ocl-icd-libopencl1 | libopencl1, udis86, zlib1g (>= 1:1.1.4), libasound2-plugins, libncurses6 | libncurses5 | libncurses, deepin-wine-plugin-virtual")
|
||||
debRecommend.setText("libcapi20-3, libcups2, libdbus-1-3, libfontconfig1, libfreetype6, libglu1-mesa | libglu1, libgnutls30 | libgnutls28 | libgnutls26, libgsm1, libgssapi-krb5-2, libjpeg62-turbo | libjpeg8, libkrb5-3, libodbc1, libosmesa6, libpng16-16 | libpng12-0, libsane | libsane1, libsdl2-2.0-0, libtiff5, libv4l-0, libxcomposite1, libxcursor1, libxfixes3, libxi6, libxinerama1, libxrandr2, libxrender1, libxslt1.1, libxxf86vm1")
|
||||
|
||||
|
||||
###############
|
||||
# 程序信息
|
||||
###############
|
||||
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
|
||||
# 如果要添加其他 wine,请在字典添加其名称和执行路径
|
||||
wine = {"deepin-wine": "deepin-wine", "deepin-wine5": "deepin-wine5", "wine": "wine", "wine64": "wine64", "deepin-wine5 stable": "deepin-wine5-stable", "deepin-wine6 stable": "deepin-wine6-stable", "spark-wine7-devel": "spark-wine7-devel", "ukylin-wine": "ukylin-wine"}
|
||||
# 读取 wine 本地列表
|
||||
for i in ["/opt/wine-staging", "/opt/wine-dev", "/opt/wine-stable", "/opt/spark-wine7-devel"]:
|
||||
if os.path.exists(i):
|
||||
wine[i] = i
|
||||
try:
|
||||
for i in os.listdir(f"{get_home()}/.deepinwine"):
|
||||
if os.path.exists(f"{get_home()}/.deepinwine/{i}/bin/wine"):
|
||||
wine[f"{get_home()}/.deepinwine/{i}"] = f"{get_home()}/.deepinwine/{i}"
|
||||
except:
|
||||
pass
|
||||
try:
|
||||
for i in json.loads(readtxt(f"{programPath}/wine/winelist.json")):
|
||||
if os.path.exists(f"{programPath}/wine/{i}.7z"):
|
||||
wine[f"{programPath}/wine/{i}.7z"] = f"{programPath}/wine/{i}.7z"
|
||||
continue
|
||||
if os.path.exists(f"{programPath}/wine/{i}"):
|
||||
wine[f"{programPath}/wine/{i}"] = f"{programPath}/wine/{i}"
|
||||
except:
|
||||
pass
|
||||
os.chdir("/")
|
||||
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
|
||||
iconPath = "{}/deepin-wine-runner.svg".format(programPath)
|
||||
information = json.loads(readtxt(f"{programPath}/information.json"))
|
||||
version = information["Version"]
|
||||
@ -885,51 +1082,46 @@ e12_text = QtWidgets.QLineEdit()
|
||||
e15_text = QtWidgets.QLineEdit()
|
||||
label13_text = QtWidgets.QLabel("<p align='center'>当前 deb 打包情况:暂未打包</p>")
|
||||
option1_text = QtWidgets.QComboBox()
|
||||
button1 = QtWidgets.QPushButton("浏览……")
|
||||
button2 = QtWidgets.QPushButton("浏览……")
|
||||
button4 = QtWidgets.QPushButton("浏览……")
|
||||
button1 = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "浏览……"))
|
||||
button2 = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "浏览……"))
|
||||
button4 = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "浏览……"))
|
||||
debControlFrame = QtWidgets.QHBoxLayout()
|
||||
button5 = QtWidgets.QPushButton("打包……")
|
||||
installDeb = QtWidgets.QPushButton("安装打包完成的 deb……")
|
||||
button5 = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "打包……"))
|
||||
installDeb = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "安装打包完成的 deb……"))
|
||||
buildDebDir = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "根据填写内容打包模板"))
|
||||
debControlFrame.addWidget(button5)
|
||||
debControlFrame.addWidget(installDeb)
|
||||
debOption = QtWidgets.QHBoxLayout()
|
||||
rmBash = QtWidgets.QCheckBox("设置卸载该 deb 后自动删除该容器")
|
||||
cleanBottonByUOS = QtWidgets.QCheckBox("使用统信 Wine 生态适配活动容器清理脚本")
|
||||
debOption.addWidget(rmBash)
|
||||
debOption.addWidget(cleanBottonByUOS)
|
||||
rmBash = QtWidgets.QCheckBox(QtCore.QCoreApplication.translate("U", "设置卸载该 deb 后自动删除该容器"))
|
||||
cleanBottonByUOS = QtWidgets.QCheckBox(QtCore.QCoreApplication.translate("U", "使用统信 Wine 生态适配活动容器清理脚本"))
|
||||
debArch = QtWidgets.QComboBox()
|
||||
debArch.addItems(["i386", "arm64(box86)", "arm64(exagear)"])
|
||||
textbox1 = QtWidgets.QTextBrowser()
|
||||
option1_text.addItems(["Network", "Chat", "Audio", "Video", "Graphics", "Office", "Translation", "Development", "Utility"])
|
||||
option1_text.setCurrentText("Network")
|
||||
wineFrame = QtWidgets.QHBoxLayout()
|
||||
chooseWineHelperValue = QtWidgets.QCheckBox("使用星火wine helper(如不勾选默认为deepin-wine-helper)")
|
||||
chooseWineHelperValue = QtWidgets.QCheckBox(QtCore.QCoreApplication.translate("U", "使用星火wine helper\n(如不勾选默认为deepin-wine-helper)"))
|
||||
button1.clicked.connect(button1_cl)
|
||||
button2.clicked.connect(button2_cl)
|
||||
button4.clicked.connect(button4_cl)
|
||||
button5.clicked.connect(make_deb)
|
||||
buildDebDir.clicked.connect(lambda: make_deb(True))
|
||||
installDeb.clicked.connect(InstallDeb)
|
||||
wineFrame.addWidget(wineVersion)
|
||||
debArch.currentIndexChanged.connect(ChangeArchCombobox)
|
||||
wineFrame.addWidget(chooseWineHelperValue)
|
||||
# 创建控件
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("要打包的 deb 包的包名(※必填):"), 0, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("要打包的 deb 包的版本号(※必填):"), 1, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("要打包的 deb 包的说明(※必填):"), 2, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("要打包的 deb 包的维护者(※必填):"), 3, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("要解压的 wine 容器的容器名(※必填):"), 4, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("要解压的 wine 容器(※必填):"), 5, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("要解压的 wine 容器里需要运行的可执行文件路径(※必填):"), 6, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("要显示的 .desktop 文件的分类(※必填):"), 7, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("要解压的 wine 容器里需要运行的可执行文件的参数(选填):"), 8, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("要显示的 .desktop 文件的名称(※必填):"), 9, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("要显示的 .desktop 文件的图标(选填):"), 10, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("要显示的 .desktop 文件的 MimeType 内容(选填):"), 11, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("选择打包的 wine 版本(※必选):"), 12, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("打包 deb 的保存路径(※必填):"), 13, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("deb 包选项(选填):"), 14, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("打包 deb 架构(※必选):"), 15, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要打包的 deb 包的包名(※必填):")), 0, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要打包的 deb 包的版本号(※必填):")), 1, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要打包的 deb 包的说明(※必填):")), 2, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要打包的 deb 包的维护者(※必填):")), 3, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要解压的 wine 容器的容器名(※必填):")), 4, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要解压的 wine 容器(※必填):")), 5, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "wine 容器里需要运行的可执行文件路径(※必填):")), 6, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要显示的 .desktop 文件的分类(※必填):")), 7, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "wine 容器里需要运行的可执行文件的参数(选填):")), 8, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要显示的 .desktop 文件的名称(※必填):")), 9, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要显示的 .desktop 文件的图标(选填):")), 10, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "选择打包的 wine 版本(※必选):")), 12, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "打包 deb 的保存路径(※必填):")), 13, 0, 1, 1)
|
||||
widgetLayout.addWidget(e1_text, 0, 1, 1, 1)
|
||||
widgetLayout.addWidget(e2_text, 1, 1, 1, 1)
|
||||
widgetLayout.addWidget(e3_text, 2, 1, 1, 1)
|
||||
@ -943,20 +1135,50 @@ widgetLayout.addWidget(e15_text, 8, 1, 1, 1)
|
||||
widgetLayout.addWidget(e8_text, 9, 1, 1, 1)
|
||||
widgetLayout.addWidget(e9_text, 10, 1, 1, 1)
|
||||
widgetLayout.addWidget(button2, 10, 2, 1, 1)
|
||||
widgetLayout.addWidget(e10_text, 11, 1, 1, 1)
|
||||
widgetLayout.addLayout(wineFrame, 12, 1, 1, 1)
|
||||
widgetLayout.addWidget(e12_text, 13, 1, 1, 1)
|
||||
widgetLayout.addWidget(button4, 13, 2, 1, 1)
|
||||
widgetLayout.addLayout(debOption, 14, 1, 1, 1)
|
||||
widgetLayout.addWidget(debArch, 15, 1, 1, 1)
|
||||
widgetLayout.addLayout(debControlFrame, 16, 1, 1, 1)
|
||||
widgetLayout.addWidget(label13_text, 17, 0, 1, 3)
|
||||
widgetLayout.addWidget(textbox1, 18, 0, 1, 3)
|
||||
# 高级功能
|
||||
moreSetting = QtWidgets.QGroupBox(QtCore.QCoreApplication.translate("U", "高级设置"))
|
||||
debDepends = QtWidgets.QLineEdit()
|
||||
debRecommend = QtWidgets.QLineEdit()
|
||||
debDepends.setPlaceholderText(QtCore.QCoreApplication.translate("U", "deb 包的依赖(如无特殊需求默认即可)"))
|
||||
debDepends.setText("deepin-wine6-stable, deepin-wine-helper (>= 5.1.30-1), fonts-wqy-microhei, fonts-wqy-zenhei")
|
||||
debRecommend.setPlaceholderText(QtCore.QCoreApplication.translate("U", "deb 包的推荐依赖(非强制,一般默认即可)"))
|
||||
moreSettingLayout = QtWidgets.QVBoxLayout()
|
||||
localWineVersion = QtWidgets.QComboBox()
|
||||
useInstallWineArch = QtWidgets.QComboBox()
|
||||
useInstallWineArch.addItems(["wine", "wine64"])
|
||||
moreSettingLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "Wine 位数(只限本地需要打包集成的Wine):\n提示:32位的Wine不能使用64位容器")))
|
||||
#moreSettingLayout.addWidget(localWineVersion)
|
||||
moreSettingLayout.addWidget(useInstallWineArch)
|
||||
moreSettingLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "deb 包选项:")))
|
||||
moreSettingLayout.addWidget(rmBash)
|
||||
moreSettingLayout.addWidget(cleanBottonByUOS)
|
||||
moreSettingLayout.addWidget(chooseWineHelperValue)
|
||||
moreSettingLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "deb 的依赖(强制,如无特殊需求默认即可):")))
|
||||
moreSettingLayout.addWidget(debDepends)
|
||||
moreSettingLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "deb 的推荐依赖(非强制,一般默认即可):")))
|
||||
moreSettingLayout.addWidget(debRecommend)
|
||||
moreSettingLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要显示的 .desktop 文件的 MimeType:")))
|
||||
moreSettingLayout.addWidget(e10_text)
|
||||
moreSettingLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "打包 deb 架构:")))
|
||||
moreSettingLayout.addWidget(debArch)
|
||||
moreSetting.setLayout(moreSettingLayout)
|
||||
widgetLayout.addWidget(moreSetting, 0, 3, 16, 1)
|
||||
widgetLayout.addWidget(buildDebDir, 16, 3)
|
||||
useInstallWineArch.setDisabled(True)
|
||||
wineVersion.currentTextChanged.connect(ChangeWine)
|
||||
chooseWineHelperValue.stateChanged.connect(ChangeWine)
|
||||
# 菜单栏
|
||||
menu = window.menuBar()
|
||||
programmenu = menu.addMenu("程序")
|
||||
help = menu.addMenu("帮助")
|
||||
exit = QtWidgets.QAction("退出程序")
|
||||
tip = QtWidgets.QAction("小提示")
|
||||
programmenu = menu.addMenu(QtCore.QCoreApplication.translate("U", "程序"))
|
||||
help = menu.addMenu(QtCore.QCoreApplication.translate("U", "帮助"))
|
||||
exit = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "退出程序"))
|
||||
tip = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "小提示"))
|
||||
exit.triggered.connect(window.close)
|
||||
tip.triggered.connect(helps)
|
||||
programmenu.addAction(exit)
|
||||
@ -972,5 +1194,6 @@ widget.setLayout(widgetLayout)
|
||||
window.setCentralWidget(widget)
|
||||
window.setWindowTitle(f"wine 应用打包器 {version}")
|
||||
window.setWindowIcon(QtGui.QIcon(iconPath))
|
||||
window.resize(int(window.frameSize().width() * 2.1), window.frameSize().height())
|
||||
window.show()
|
||||
sys.exit(app.exec_())
|
@ -2,7 +2,7 @@
|
||||
# 使用系统默认的 python3 运行
|
||||
###########################################################################################
|
||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布呢
|
||||
# 版本:1.9.0
|
||||
# 版本:2.0.0
|
||||
# 更新时间:2022年08月12日
|
||||
# 感谢:感谢 wine、deepin-wine 以及星火团队,提供了 wine、deepin-wine、spark-wine-devel 给大家使用,让我能做这个程序
|
||||
# 基于 Python3 的 PyQt5 构建
|
||||
@ -26,7 +26,8 @@ import urllib.parse as parse
|
||||
import PyQt5.QtGui as QtGui
|
||||
import PyQt5.QtCore as QtCore
|
||||
import PyQt5.QtWidgets as QtWidgets
|
||||
|
||||
# 方便一些,单独把 tr 抽出来
|
||||
from PyQt5.QtCore import QObject
|
||||
###################
|
||||
# 程序所需事件
|
||||
###################
|
||||
@ -194,7 +195,7 @@ def about_this_program()->"显示“关于这个程序”窗口":
|
||||
aboutInfo = QtWidgets.QTextBrowser(messageWidget)
|
||||
aboutInfo.setHtml(about)
|
||||
messageLayout.addWidget(aboutInfo, 0, 1, 1, 1)
|
||||
ok = QtWidgets.QPushButton("确定")
|
||||
ok = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "确定"))
|
||||
ok.clicked.connect(QT.message.close)
|
||||
messageLayout.addWidget(ok, 1, 1, 1, 1, QtCore.Qt.AlignBottom | QtCore.Qt.AlignRight)
|
||||
messageWidget.setLayout(messageLayout)
|
||||
@ -372,7 +373,7 @@ def OpenWineFontPath():
|
||||
wineBottonPath = setting["DefultBotton"]
|
||||
else:
|
||||
wineBottonPath = e1.currentText()
|
||||
QtWidgets.QMessageBox.information(widget, "提示", "如果安装字体?只需要把字体文件复制到此字体目录\n按下“OK”按钮可以打开字体目录")
|
||||
QtWidgets.QMessageBox.information(widget, "提示", QtCore.QCoreApplication.translate("U", "如果安装字体?只需要把字体文件复制到此字体目录\n按下“OK”按钮可以打开字体目录"))
|
||||
os.system("xdg-open \"" + wineBottonPath.replace("\'", "\\\'") + "/drive_c/windows/Fonts\"")
|
||||
|
||||
class RunWineProgramThread(QtCore.QThread):
|
||||
@ -696,28 +697,28 @@ class UpdateWindow():
|
||||
updateWidgetLayout = QtWidgets.QGridLayout()
|
||||
versionLabel = QtWidgets.QLabel(f"当前版本:{version}\n最新版本:未知\n更新内容:")
|
||||
updateText = QtWidgets.QTextBrowser()
|
||||
ok = QtWidgets.QPushButton("更新(更新过程中会关闭所有Python应用,包括这个应用)")
|
||||
ok = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "更新(更新过程中会关闭所有Python应用,包括这个应用)"))
|
||||
ok.clicked.connect(UpdateWindow.Update)
|
||||
cancel = QtWidgets.QPushButton("取消")
|
||||
cancel.clicked.connect(UpdateWindow.update.close)
|
||||
try:
|
||||
UpdateWindow.data = json.loads(requests.get("http://120.25.153.144/spark-deepin-wine-runner/update.json").text)
|
||||
UpdateWindow.data = json.loads(requests.get(base64.b64decode("aHR0cDovLzEyMC4yNS4xNTMuMTQ0L3NwYXJrLWRlZXBpbi13aW5lLXJ1bm5lci91cGRhdGUuanNvbg==").decode("utf-8")).text)
|
||||
versionLabel = QtWidgets.QLabel(f"当前版本:{version}\n最新版本:{UpdateWindow.data['Version']}\n更新内容:")
|
||||
if UpdateWindow.data["Version"] == version:
|
||||
updateText.setText("此为最新版本,无需更新")
|
||||
updateText.setText(QtCore.QCoreApplication.translate("U", "此为最新版本,无需更新"))
|
||||
ok.setDisabled(True)
|
||||
else:
|
||||
updateText.setText(UpdateWindow.data["New"].replace("\\n", "\n"))
|
||||
except:
|
||||
traceback.print_exc()
|
||||
QtWidgets.QMessageBox.critical(updateWidget, "错误", "无法连接服务器!")
|
||||
QtWidgets.QMessageBox.critical(updateWidget, QtCore.QCoreApplication.translate("U", "错误"), QtCore.QCoreApplication.translate("U", "无法连接服务器!"))
|
||||
updateWidgetLayout.addWidget(versionLabel, 0, 0, 1, 1)
|
||||
updateWidgetLayout.addWidget(updateText, 1, 0, 1, 3)
|
||||
updateWidgetLayout.addWidget(ok, 2, 2, 1, 1)
|
||||
updateWidgetLayout.addWidget(cancel, 2, 1, 1, 1)
|
||||
updateWidget.setLayout(updateWidgetLayout)
|
||||
UpdateWindow.update.setCentralWidget(updateWidget)
|
||||
UpdateWindow.update.setWindowTitle("检查更新")
|
||||
UpdateWindow.update.setWindowTitle(QtCore.QCoreApplication.translate("U", "检查更新"))
|
||||
UpdateWindow.update.resize(updateWidget.frameGeometry().width(), int(updateWidget.frameGeometry().height() * 1.5))
|
||||
UpdateWindow.update.show()
|
||||
|
||||
@ -772,22 +773,22 @@ class GetDllFromWindowsISO:
|
||||
以及不要拷贝/替换太多的 dll,否则可能会导致 wine 容器异常
|
||||
最后,拷贝/替换 dll 后,建议点击下面“设置 wine 容器”按钮==》函数库 进行设置
|
||||
当前选择的 Wine 容器:{GetDllFromWindowsISO.wineBottonPath}"""), 0, 0, 1, 5)
|
||||
isoLabel = QtWidgets.QLabel("ISO镜像:")
|
||||
isoLabel = QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "ISO镜像:"))
|
||||
GetDllFromWindowsISO.isoPath = QtWidgets.QComboBox()
|
||||
GetDllFromWindowsISO.browser = QtWidgets.QPushButton("浏览")
|
||||
GetDllFromWindowsISO.browser = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "浏览"))
|
||||
isoControl = QtWidgets.QWidget()
|
||||
isoControlLayout = QtWidgets.QHBoxLayout()
|
||||
isoControl.setLayout(isoControlLayout)
|
||||
dllControl = QtWidgets.QWidget()
|
||||
dllControlLayout = QtWidgets.QHBoxLayout()
|
||||
dllControl.setLayout(dllControlLayout)
|
||||
GetDllFromWindowsISO.mountButton = QtWidgets.QPushButton("读取/挂载ISO镜像")
|
||||
umountButton = QtWidgets.QPushButton("关闭/卸载ISO镜像")
|
||||
GetDllFromWindowsISO.mountButton = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "读取/挂载ISO镜像"))
|
||||
umountButton = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "关闭/卸载ISO镜像"))
|
||||
GetDllFromWindowsISO.dllFound = QtWidgets.QComboBox()
|
||||
GetDllFromWindowsISO.foundButton = QtWidgets.QPushButton("查找")
|
||||
GetDllFromWindowsISO.foundButton = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "查找"))
|
||||
GetDllFromWindowsISO.dllList = QtWidgets.QListView()
|
||||
GetDllFromWindowsISO.saveDll = QtWidgets.QPushButton("保存到 wine 容器中")
|
||||
GetDllFromWindowsISO.setWineBotton = QtWidgets.QPushButton("设置 wine 容器")
|
||||
GetDllFromWindowsISO.saveDll = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "保存到 wine 容器中"))
|
||||
GetDllFromWindowsISO.setWineBotton = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "设置 wine 容器"))
|
||||
isoLabel.setSizePolicy(size)
|
||||
GetDllFromWindowsISO.isoPath.setEditable(True)
|
||||
GetDllFromWindowsISO.isoPath.addItems(isoPath)
|
||||
@ -809,7 +810,7 @@ class GetDllFromWindowsISO:
|
||||
widgetLayout.addWidget(GetDllFromWindowsISO.isoPath, 1, 1, 1, 1)
|
||||
widgetLayout.addWidget(GetDllFromWindowsISO.browser, 1, 2, 1, 1)
|
||||
widgetLayout.addWidget(isoControl, 2, 1, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("查找DLL\n(为空则代表不查找,\n将显示全部内容):"), 3, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "查找DLL\n(为空则代表不查找,\n将显示全部内容):")), 3, 0, 1, 1)
|
||||
widgetLayout.addWidget(GetDllFromWindowsISO.dllFound, 3, 1, 1, 1)
|
||||
widgetLayout.addWidget(GetDllFromWindowsISO.foundButton, 3, 2, 1, 1)
|
||||
widgetLayout.addWidget(GetDllFromWindowsISO.dllList, 4, 1, 1, 1)
|
||||
@ -917,12 +918,12 @@ class GetDllFromWindowsISO:
|
||||
shutil.rmtree("/tmp/wine-runner-getdll")
|
||||
except:
|
||||
traceback.print_exc()
|
||||
QtWidgets.QMessageBox.critical(GetDllFromWindowsISO.message, "错误", f"关闭/卸载镜像失败,报错如下:\n{traceback.format_exc()}")
|
||||
QtWidgets.QMessageBox.critical(GetDllFromWindowsISO.message, QtCore.QCoreApplication.translate("U", "错误"), f"关闭/卸载镜像失败,报错如下:\n{traceback.format_exc()}")
|
||||
return
|
||||
GetDllFromWindowsISO.DisbledDown(True)
|
||||
GetDllFromWindowsISO.DisbledUp(False)
|
||||
GetDllFromWindowsISO.mount = False
|
||||
QtWidgets.QMessageBox.information(GetDllFromWindowsISO.message, "提示", "关闭/卸载成功!")
|
||||
QtWidgets.QMessageBox.information(GetDllFromWindowsISO.message, QtCore.QCoreApplication.translate("U", "提示"), QtCore.QCoreApplication.translate("U", "关闭/卸载成功!"))
|
||||
|
||||
def CopyDll():
|
||||
choose = GetDllFromWindowsISO.dllList.selectionModel().selectedIndexes()[0].data()
|
||||
@ -944,23 +945,24 @@ class ProgramRunStatusShow():
|
||||
return
|
||||
try:
|
||||
sha = ProgramRunStatusUpload.GetSHA1(e2.currentText())
|
||||
lists = json.loads(requests.get(f"http://120.25.153.144/spark-deepin-wine-runner/app/{sha}/all.json").text)
|
||||
r = requests.get(f"http://120.25.153.144/spark-deepin-wine-runner/app/{sha}/title.txt")
|
||||
lists = json.loads(requests.get(base64.b64decode("aHR0cDovLzEyMC4yNS4xNTMuMTQ0L3NwYXJrLWRlZXBpbi13aW5lLXJ1bm5lci9hcHAv").decode("utf-8") + sha + base64.b64decode("L2FsbC5qc29u").decode("utf-8")).text)
|
||||
r = requests.get(base64.b64decode("aHR0cDovLzEyMC4yNS4xNTMuMTQ0L3NwYXJrLWRlZXBpbi13aW5lLXJ1bm5lci9hcHAv").decode("utf-8") + sha + base64.b64decode("L3RpdGxlLnR4dA==").decode("utf-8"))
|
||||
r.encoding = "utf-8"
|
||||
title = r.text
|
||||
except:
|
||||
if QtWidgets.QMessageBox.question(widget, "提示", "暂时还没有该软件的运行情况信息\n是否自己上传该软件的运行情况?") == QtWidgets.QMessageBox.Yes:
|
||||
if QtWidgets.QMessageBox.question(widget, QtCore.QCoreApplication.translate("U", "提示"), QtCore.QCoreApplication.translate("U", "暂时还没有该软件的运行情况信息\n是否自己上传该软件的运行情况?")) == QtWidgets.QMessageBox.Yes:
|
||||
ProgramRunStatusUpload.ShowWindow(sha)
|
||||
return
|
||||
informationList = ["0分:无法运行并且也没有报错,自己无法解决",
|
||||
"1分:无法运行但有报错,自己无法解决",
|
||||
"2分:可以运行但是效果很差,几乎无法使用",
|
||||
"3分:可以运行且勉强可以使用",
|
||||
"4分:可以运行,体验大差不差,还是有点小问题",
|
||||
"5分:可以运行且完全没有bug和问题,和在 Windows 上一样",
|
||||
"含有不良内容,不宜安装",
|
||||
"含有病毒、木马等对计算机有害的软件"
|
||||
]
|
||||
informationList = [
|
||||
"0分:无法运行并且也没有报错,自己无法解决",
|
||||
"1分:无法运行但有报错,自己无法解决",
|
||||
"2分:可以运行但是效果很差,几乎无法使用",
|
||||
"3分:可以运行且勉强可以使用",
|
||||
"4分:可以运行,体验大差不差,还是有点小问题",
|
||||
"5分:可以运行且完全没有bug和问题,和在 Windows 上一样",
|
||||
"含有不良内容,不宜安装",
|
||||
"含有病毒、木马等对计算机有害的软件"
|
||||
]
|
||||
if title.lower() == "null":
|
||||
title = "未知应用"
|
||||
maxHead = lists.index(max(lists))
|
||||
@ -968,9 +970,9 @@ class ProgramRunStatusShow():
|
||||
msgWidget = QtWidgets.QWidget()
|
||||
msgWidgetLayout = QtWidgets.QGridLayout()
|
||||
starLayout = QtWidgets.QHBoxLayout()
|
||||
uploadButton = QtWidgets.QPushButton("点此上传运行情况")
|
||||
uploadButton = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "点此上传运行情况"))
|
||||
uploadButton.clicked.connect(lambda: ProgramRunStatusUpload.ShowWindow(sha, title))
|
||||
msgWidgetLayout.addWidget(QtWidgets.QLabel("综合评价:"), 0, 0)
|
||||
msgWidgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "综合评价:")), 0, 0)
|
||||
msgWidgetLayout.addLayout(starLayout, 0, 1)
|
||||
msgWidgetLayout.addWidget(QtWidgets.QLabel(informationList[maxHead]), 1, 0, 1, 2)
|
||||
msgWidgetLayout.addWidget(uploadButton, 2, 0, 1, 2)
|
||||
@ -1018,7 +1020,7 @@ class ProgramRunStatusUpload():
|
||||
ProgramRunStatusUpload.programName = QtWidgets.QLineEdit()
|
||||
ProgramRunStatusUpload.fen = QtWidgets.QComboBox()
|
||||
ProgramRunStatusUpload.starLayout = QtWidgets.QHBoxLayout()
|
||||
upload = QtWidgets.QPushButton("上传")
|
||||
upload = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "上传"))
|
||||
upload.clicked.connect(ProgramRunStatusUpload.Upload)
|
||||
if title != "":
|
||||
ProgramRunStatusUpload.programName.setText(title)
|
||||
@ -1028,7 +1030,7 @@ class ProgramRunStatusUpload():
|
||||
ProgramRunStatusUpload.starList.append(QtWidgets.QLabel(f"<img src='{programPath}/Icon/{['Un', ''][i]}Star.svg' width=25>"))
|
||||
ProgramRunStatusUpload.starLayout.addWidget(ProgramRunStatusUpload.starList[-1])
|
||||
ProgramRunStatusUpload.starLayout.addItem(QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum))
|
||||
ProgramRunStatusUpload.programName.setPlaceholderText("如果这个程序和程序名确实是合法还是检测到敏感词,改为“NULL”即可")
|
||||
ProgramRunStatusUpload.programName.setPlaceholderText(QtCore.QCoreApplication.translate("U", "如果这个程序和程序名确实是合法还是检测到敏感词,改为“NULL”即可"))
|
||||
ProgramRunStatusUpload.fen.addItems(["0分:无法运行并且也没有报错,自己无法解决",
|
||||
"1分:无法运行但有报错,自己无法解决",
|
||||
"2分:可以运行但是效果很差,几乎无法使用",
|
||||
@ -1039,15 +1041,15 @@ class ProgramRunStatusUpload():
|
||||
"含有病毒、木马等对计算机有害的软件"])
|
||||
ProgramRunStatusUpload.fen.setCurrentIndex(4)
|
||||
ProgramRunStatusUpload.fen.currentIndexChanged.connect(ProgramRunStatusUpload.ChangeStar)
|
||||
msgWidgetLayout.addWidget(QtWidgets.QLabel("程序名:"), 0, 0)
|
||||
msgWidgetLayout.addWidget(QtWidgets.QLabel("评分:"), 1, 0)
|
||||
msgWidgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "程序名:")), 0, 0)
|
||||
msgWidgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "评分:")), 1, 0)
|
||||
msgWidgetLayout.addWidget(ProgramRunStatusUpload.programName, 0, 1)
|
||||
msgWidgetLayout.addWidget(ProgramRunStatusUpload.fen, 1, 1)
|
||||
msgWidgetLayout.addLayout(ProgramRunStatusUpload.starLayout, 2, 1)
|
||||
msgWidgetLayout.addWidget(upload, 3, 1)
|
||||
msgWidget.setLayout(msgWidgetLayout)
|
||||
ProgramRunStatusUpload.msgWindow.setCentralWidget(msgWidget)
|
||||
ProgramRunStatusUpload.msgWindow.setWindowTitle("上传程序运行情况")
|
||||
ProgramRunStatusUpload.msgWindow.setWindowTitle(QtCore.QCoreApplication.translate("U", "上传程序运行情况"))
|
||||
ProgramRunStatusUpload.msgWindow.setWindowIcon(QtGui.QIcon(iconPath))
|
||||
ProgramRunStatusUpload.msgWindow.show()
|
||||
|
||||
@ -1055,17 +1057,20 @@ class ProgramRunStatusUpload():
|
||||
if not os.path.exists(e2.currentText()):
|
||||
QtWidgets.QMessageBox.critical(None, "错误", "exe 文件不存在!")
|
||||
return
|
||||
if ProgramRunStatusUpload.programName.text() == "":
|
||||
QtWidgets.QMessageBox.critical(None, "错误", "程序名称不能为空!")
|
||||
return
|
||||
try:
|
||||
if ProgramRunStatusUpload.sha1Value == "":
|
||||
ProgramRunStatusUpload.sha1Value = ProgramRunStatusUpload.GetSHA1(e2.currentText())
|
||||
QtWidgets.QMessageBox.information(None, "提示", json.loads(requests.post("http://120.25.153.144:30250", {
|
||||
QtWidgets.QMessageBox.information(None, QtCore.QCoreApplication.translate("U", "提示"), json.loads(requests.post(base64.b64decode("aHR0cDovLzEyMC4yNS4xNTMuMTQ0OjMwMjUw").decode("utf-8"), {
|
||||
"SHA1": ProgramRunStatusUpload.sha1Value,
|
||||
"Name": ProgramRunStatusUpload.programName.text(),
|
||||
"Fen": ProgramRunStatusUpload.fen.currentIndex(),
|
||||
"Wine": o1.currentText()
|
||||
}).text)["Error"])
|
||||
except:
|
||||
QtWidgets.QMessageBox.critical(None, "错误", "数据上传失败!")
|
||||
QtWidgets.QMessageBox.critical(None, QtCore.QCoreApplication.translate("U", "错误"), QtCore.QCoreApplication.translate("U", "数据上传失败!"))
|
||||
|
||||
def GetSHA1(filePath):
|
||||
sha1 = hashlib.sha1()
|
||||
@ -1096,34 +1101,34 @@ class ProgramSetting():
|
||||
ProgramSetting.message = QtWidgets.QMainWindow()
|
||||
widget = QtWidgets.QWidget()
|
||||
widgetLayout = QtWidgets.QGridLayout()
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("选择 Wine 容器版本:"), 0, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("wine DEBUG 信息输出:"), 1, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("默认 Wine:"), 2, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("默认 Wine 容器:"), 3, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("使用终端打开:"), 4, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("自定义 wine 参数:"), 5, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("程序主题:"), 6, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("Wine 默认 Mono 和 Gecko 安装器:"), 7, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("忽略未安装的 Wine:"), 8, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("下载缓存:"), 9, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "选择 Wine 容器版本:")), 0, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "wine DEBUG 信息输出:")), 1, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "默认 Wine:")), 2, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "默认 Wine 容器:")), 3, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "使用终端打开:")), 4, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "自定义 wine 参数:")), 5, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "程序主题:")), 6, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "Wine 默认 Mono 和 Gecko 安装器:")), 7, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "忽略未安装的 Wine:")), 8, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "下载缓存:")), 9, 0, 1, 1)
|
||||
ProgramSetting.wineBottonA = QtWidgets.QComboBox()
|
||||
ProgramSetting.wineDebug = QtWidgets.QCheckBox("开启 DEBUG 输出")
|
||||
ProgramSetting.wineDebug = QtWidgets.QCheckBox(QtCore.QCoreApplication.translate("U", "开启 DEBUG 输出"))
|
||||
ProgramSetting.defultWine = QtWidgets.QComboBox()
|
||||
ProgramSetting.defultBotton = QtWidgets.QLineEdit()
|
||||
ProgramSetting.theme = QtWidgets.QComboBox()
|
||||
ProgramSetting.theme.addItems(QtWidgets.QStyleFactory.keys())
|
||||
ProgramSetting.theme.setCurrentText(setting["Theme"])
|
||||
save = QtWidgets.QPushButton("保存")
|
||||
save = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "保存"))
|
||||
save.clicked.connect(ProgramSetting.Save)
|
||||
defultBottonButton = QtWidgets.QPushButton("浏览")
|
||||
defultBottonButton = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "浏览"))
|
||||
defultBottonButton.clicked.connect(ProgramSetting.Browser)
|
||||
themeTry = QtWidgets.QPushButton("测试(重启后变回设置的主题)")
|
||||
themeTry = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "测试(重启后变回设置的主题)"))
|
||||
themeTry.clicked.connect(ProgramSetting.Try)
|
||||
ProgramSetting.terminalOpen = QtWidgets.QCheckBox("使用终端打开(deepin 终端)")
|
||||
ProgramSetting.terminalOpen = QtWidgets.QCheckBox(QtCore.QCoreApplication.translate("U", "使用终端打开(deepin 终端)"))
|
||||
ProgramSetting.wineOption = QtWidgets.QLineEdit()
|
||||
ProgramSetting.monogeckoInstaller = QtWidgets.QCheckBox("屏蔽 Wine 默认 Mono 和 Gecko 安装器")
|
||||
ProgramSetting.autoWine = QtWidgets.QCheckBox("不显示未检测到的 Wine")
|
||||
ProgramSetting.runtimeCache = QtWidgets.QCheckBox("开启下载缓存")
|
||||
ProgramSetting.monogeckoInstaller = QtWidgets.QCheckBox(QtCore.QCoreApplication.translate("U", "屏蔽 Wine 默认 Mono 和 Gecko 安装器"))
|
||||
ProgramSetting.autoWine = QtWidgets.QCheckBox(QtCore.QCoreApplication.translate("U", "不显示未检测到的 Wine"))
|
||||
ProgramSetting.runtimeCache = QtWidgets.QCheckBox(QtCore.QCoreApplication.translate("U", "开启下载缓存"))
|
||||
ProgramSetting.wineBottonA.addItems(["Auto", "win32", "win64"])
|
||||
ProgramSetting.wineBottonA.setCurrentText(setting["Architecture"])
|
||||
ProgramSetting.wineDebug.setChecked(setting["Debug"])
|
||||
@ -1155,7 +1160,7 @@ class ProgramSetting():
|
||||
ProgramSetting.message.show()
|
||||
|
||||
def Browser():
|
||||
path = QtWidgets.QFileDialog.getExistingDirectory(ProgramSetting.message, "选择 Wine 容器", json.loads(readtxt(get_home() + "/.config/deepin-wine-runner/WineBotton.json"))["path"])
|
||||
path = QtWidgets.QFileDialog.getExistingDirectory(ProgramSetting.message, QtCore.QCoreApplication.translate("U", "选择 Wine 容器"), json.loads(readtxt(get_home() + "/.config/deepin-wine-runner/WineBotton.json"))["path"])
|
||||
if path == "" or path == None or path == "()" or path == ():
|
||||
return
|
||||
ProgramSetting.defultBotton.setText(path)
|
||||
@ -1273,6 +1278,16 @@ try:
|
||||
canUseWine.append(f"{programPath}/wine/{i}/bin/wine64")
|
||||
except:
|
||||
pass
|
||||
try:
|
||||
for i in os.listdir(f"{get_home()}/.deepinwine/"):
|
||||
if os.path.exists(f"{get_home()}/.deepinwine/{i}/bin/wine"):
|
||||
wine[f"{get_home()}/.deepinwine/{i}/bin/wine"] = f"{get_home()}/.deepinwine/{i}/bin/wine"
|
||||
canUseWine.append(f"{get_home()}/.deepinwine/{i}/bin/wine")
|
||||
if os.path.exists(f"{get_home()}/.deepinwine/{i}/bin/wine64"):
|
||||
wine[f"{get_home()}/.deepinwine/{i}/bin/wine64"] = f"{get_home()}/.deepinwine/{i}/bin/wine64"
|
||||
canUseWine.append(f"{get_home()}/.deepinwine/{i}/bin/wine64")
|
||||
except:
|
||||
pass
|
||||
shellHistory = list(json.loads(readtxt(get_home() + "/.config/deepin-wine-runner/ShellHistory.json")).values())
|
||||
findExeHistory = list(json.loads(readtxt(get_home() + "/.config/deepin-wine-runner/FindExeHistory.json")).values())
|
||||
wineBottonHistory = list(json.loads(readtxt(get_home() + "/.config/deepin-wine-runner/WineBottonHistory.json")).values())
|
||||
@ -1292,11 +1307,15 @@ except:
|
||||
QtWidgets.QMessageBox.critical(None, "错误", f"无法读取配置,无法继续\n{traceback.format_exc()}")
|
||||
sys.exit(1)
|
||||
|
||||
# 获取当前语言
|
||||
def get_now_lang()->"获取当前语言":
|
||||
return os.getenv('LANG')
|
||||
|
||||
###########################
|
||||
# 程序信息
|
||||
###########################
|
||||
iconPath = "{}/deepin-wine-runner.svg".format(programPath)
|
||||
programUrl = "https://gitee.com/gfdgd-xi/deep-wine-runner\nhttps://github.com/gfdgd-xi/deep-wine-runner\nhttps://www.gitlink.org.cn/gfdgd_xi/deep-wine-runner"
|
||||
programUrl = "https://gitee.com/gfdgd-xi/deep-wine-runner\nhttps://github.com/gfdgd-xi/deep-wine-runner\nhttps://www.gitlink.org.cn/gfdgd_xi/deep-wine-runner\nhttps://gfdgd-xi.github.io"
|
||||
information = json.loads(readtxt(f"{programPath}/information.json"))
|
||||
version = information["Version"]
|
||||
goodRunSystem = "常见 Linux 发行版"
|
||||
@ -1319,28 +1338,19 @@ exe路径\' 参数 \'
|
||||
<b>千万不要中断后不删除源的情况下 apt upgrade !!!</b>中断后只需重新打开脚本输入 repair 或者随意安装一个 Wine(会自动执行恢复操作)即可
|
||||
以及此脚本安装的 Wine 无法保证 100% 能使用,以及副作用是会提示
|
||||
<code>N: 鉴于仓库 'https://community-packages.deepin.com/beige beige InRelease' 不支持 'i386' 体系结构,跳过配置文件 'main/binary-i386/Packages' 的获取。</code>'''
|
||||
updateThingsString = '''<b>※1、修复了重复路径一直自动重复增加的问题
|
||||
※2、修复了两个打包器打包错误的问题(非基于生态活动脚本的为 wine 导入错误,基于生态活动脚本的为架构有误导致打包出的 deb 无法打包)
|
||||
※3、适配了部分非 i386、amd64 架构计算机的 UOS 系统使用的 wine 并支持打包非 i386、amd64 架构计算机的 UOS 系统使用的 wine 程序 deb 包
|
||||
※4、支持安装 dxvk(遵守 Zlib 开源协议)
|
||||
※5、运行器、打包器(包括非基于生态适配活动脚本制作的)支持使用 Wine 生态适配活动的容器清理脚本
|
||||
※6、支持更加简易的安装最新版的 WineHQ</b>
|
||||
※7、增加字体商店
|
||||
※8、新增查看可执行文件运行情况的功能
|
||||
9、支持不显示没有安装的 Wine,方便用户识别
|
||||
10、修改了 Wine 的顺序使其更加合理
|
||||
11、支持删除安装 exe 后在启动器的快捷方式
|
||||
12、优化了 Wine 打包器(非基于生态活动脚本)对容器的处理
|
||||
13、修复了 Wine 打包器(非基于生态活动脚本)打包出的 deb 安装时显示为解压缩后会消耗 0 B 的额外空间以及 postrm 的一些问题
|
||||
14、支持删除无需使用的程序组件
|
||||
15、支持组件/运行库下载后缓存方便下次使用(可以清理)
|
||||
16、点击获取图标按钮后会自动读取 exe 框的程序图标(不支持相对路径和包内路径,只支持绝对路径)
|
||||
updateThingsString = '''<b>※1、新增新的 Wine 安装器,并支持将安装的 Wine 打包到 Wine 程序 deb 包中
|
||||
※2、Wine 打包器打包 Windows 应用支持将 Wine 打包入 deb 内,可以不依赖 Wine(一般不推荐把 Wine 打包入内,推荐用依赖的形式),并支持设置自定义依赖和生成模板
|
||||
※3、开始初步多语言支持</b>
|
||||
4、修改错别字(图形话=>图形化)
|
||||
5、修复评分功能名称为空也可以上传评分的问题
|
||||
6、去除 toilet 依赖,使在 Deepin 23 Preview 上运行更佳
|
||||
7、支持删除所有由 Wine 创建的启动器快捷方式
|
||||
'''
|
||||
for i in information["Thank"]:
|
||||
thankText += f"{i}\n"
|
||||
updateTime = "2022年08月13日"
|
||||
updateTime = "2022年08月22日"
|
||||
about = f'''<h1>关于</h1>
|
||||
<p>一个能让Linux用户更加方便运行Windows应用的程序,内置了对wine图形话的支持和各种Wine工具和自制Wine程序打包器、运行库安装工具等等</p>
|
||||
<p>一个能让Linux用户更加方便运行Windows应用的程序,内置了对wine图形化的支持和各种Wine工具和自制Wine程序打包器、运行库安装工具等等</p>
|
||||
<p>同时也内置了基于VirtualBox制作的小白Windows虚拟机安装工具,可以做到只需要用户下载系统镜像并点击安装即可,无需顾及虚拟机安装、创建、虚拟机的分区等等</p>
|
||||
<p>本程序依照 GPLV3 协议开源</p>
|
||||
<pre>
|
||||
@ -1380,6 +1390,11 @@ except:
|
||||
# 读取主题
|
||||
# Qt 窗口
|
||||
app = QtWidgets.QApplication(sys.argv)
|
||||
# 语言载入
|
||||
if not get_now_lang() == "zh_CN.UTF-8":
|
||||
trans = QtCore.QTranslator()
|
||||
trans.load(f"{programPath}/LANG/deepin-wine-runner-en_US.qm")
|
||||
app.installTranslator(trans)
|
||||
window = QtWidgets.QMainWindow()
|
||||
widget = QtWidgets.QWidget()
|
||||
window.setCentralWidget(widget)
|
||||
@ -1395,25 +1410,25 @@ leftUp = QtWidgets.QWidget()
|
||||
mainLayout.addWidget(leftUp, 0, 0, 1, 1)
|
||||
leftUpLayout = QtWidgets.QGridLayout()
|
||||
leftUp.setLayout(leftUpLayout)
|
||||
fastLabel = QtWidgets.QLabel("快速启动")
|
||||
fastLabel = QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "快速启动"))
|
||||
fastLabel.setStyleSheet("font: 30px;")
|
||||
leftUpLayout.addWidget(fastLabel, 0, 0, 1, 2)
|
||||
leftUpLayout.addWidget(QtWidgets.QLabel("<hr>"), 1, 0, 1, 2)
|
||||
leftUpLayout.addWidget(QtWidgets.QLabel("请选择容器路径:"), 2, 0, 1, 1)
|
||||
leftUpLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "请选择容器路径:")), 2, 0, 1, 1)
|
||||
e1 = QtWidgets.QComboBox()
|
||||
e1.setEditable(True)
|
||||
leftUpLayout.addWidget(e1, 3, 0, 1, 1)
|
||||
button1 = QtWidgets.QPushButton("浏览")
|
||||
button1.clicked.connect(liulanbutton)
|
||||
leftUpLayout.addWidget(button1, 3, 1, 1, 1)
|
||||
leftUpLayout.addWidget(QtWidgets.QLabel("请选择要执行的程序:"), 4, 0, 1, 1)
|
||||
leftUpLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "请选择要执行的程序:")), 4, 0, 1, 1)
|
||||
e2 = QtWidgets.QComboBox()
|
||||
e2.setEditable(True)
|
||||
leftUpLayout.addWidget(e2, 5, 0, 1, 1)
|
||||
button2 = QtWidgets.QPushButton("浏览")
|
||||
button2 = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "浏览"))
|
||||
button2.clicked.connect(liulanexebutton)
|
||||
leftUpLayout.addWidget(button2, 5, 1, 1, 1)
|
||||
leftUpLayout.addWidget(QtWidgets.QLabel("请选择WINE版本:"), 6, 0, 1, 1)
|
||||
leftUpLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "请选择WINE版本:")), 6, 0, 1, 1)
|
||||
o1 = QtWidgets.QComboBox()
|
||||
leftUpLayout.addWidget(o1, 7, 0, 1, 1)
|
||||
# 设置空间权重
|
||||
@ -1425,58 +1440,58 @@ leftDown = QtWidgets.QWidget()
|
||||
mainLayout.addWidget(leftDown, 1, 0, 1, 1)
|
||||
leftDownLayout = QtWidgets.QVBoxLayout()
|
||||
leftDown.setLayout(leftDownLayout)
|
||||
highLabel = QtWidgets.QLabel("高级功能")
|
||||
highLabel = QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "高级功能"))
|
||||
highLabel.setStyleSheet("font: 30px;")
|
||||
leftDownLayout.addWidget(highLabel)
|
||||
leftDownLayout.addWidget(QtWidgets.QLabel("<hr>"))
|
||||
leftDownLayout.addWidget(QtWidgets.QLabel("创建快捷方式(Desktop文件):"))
|
||||
leftDownLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "创建快捷方式(Desktop文件):")))
|
||||
createDesktopLink = QtWidgets.QHBoxLayout()
|
||||
label_r_2 = QtWidgets.QLabel("名称:")
|
||||
label_r_2 = QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "名称:"))
|
||||
createDesktopLink.addWidget(label_r_2)
|
||||
combobox1 = QtWidgets.QComboBox()
|
||||
combobox1.setEditable(True)
|
||||
createDesktopLink.addWidget(combobox1)
|
||||
button5 = QtWidgets.QPushButton("创建到桌面")
|
||||
button5 = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "创建到桌面"))
|
||||
button5.clicked.connect(make_desktop_on_desktop)
|
||||
createDesktopLink.addWidget(button5)
|
||||
saveDesktopFileOnLauncher = QtWidgets.QPushButton("创建到开始菜单")
|
||||
saveDesktopFileOnLauncher = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "创建到开始菜单"))
|
||||
saveDesktopFileOnLauncher.clicked.connect(make_desktop_on_launcher)
|
||||
createDesktopLink.addWidget(saveDesktopFileOnLauncher)
|
||||
leftDownLayout.addLayout(createDesktopLink)
|
||||
programManager = QtWidgets.QGridLayout()
|
||||
leftDownLayout.addLayout(programManager)
|
||||
programManager.addWidget(QtWidgets.QLabel("程序管理:"), 0, 0, 1, 1)
|
||||
getProgramIcon = QtWidgets.QPushButton("提取图标")
|
||||
programManager.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "程序管理:")), 0, 0, 1, 1)
|
||||
getProgramIcon = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "提取图标"))
|
||||
getProgramIcon.clicked.connect(lambda: RunWineProgram(f"{programPath}/BeCyIconGrabber.exe' 'z:/{e2.currentText()}"))
|
||||
programManager.addWidget(getProgramIcon, 1, 0, 1, 1)
|
||||
programManager.addWidget(QtWidgets.QLabel(" "*5), 1, 1, 1, 1)
|
||||
trasButton = QtWidgets.QPushButton("窗口透明工具")
|
||||
trasButton = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "窗口透明工具"))
|
||||
trasButton.clicked.connect(lambda: RunWineProgram(f"{programPath}/窗体透明度设置工具.exe"))
|
||||
programManager.addWidget(trasButton, 1, 2, 1, 1)
|
||||
uninstallProgram = QtWidgets.QPushButton("卸载程序")
|
||||
uninstallProgram = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "卸载程序"))
|
||||
uninstallProgram.clicked.connect(lambda: RunWineProgram(f"{programPath}/geek.exe"))
|
||||
programManager.addWidget(QtWidgets.QLabel(" "*5), 1, 3, 1, 1)
|
||||
programManager.addWidget(uninstallProgram, 1, 4, 1, 1)
|
||||
miniAppStore = QtWidgets.QPushButton("微型应用商店")
|
||||
miniAppStore = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "微型应用商店"))
|
||||
miniAppStore.clicked.connect(lambda: threading.Thread(target=MiniAppStore).start())
|
||||
programManager.addWidget(QtWidgets.QLabel(" "*5), 1, 5, 1, 1)
|
||||
programManager.addWidget(miniAppStore, 1, 6, 1, 1)
|
||||
programManager.addWidget(QtWidgets.QLabel(" "*5), 1, 7, 1, 1)
|
||||
getProgramStatus = QtWidgets.QPushButton("获取该程序运行情况")
|
||||
getProgramStatus = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "获取该程序运行情况"))
|
||||
getProgramStatus.clicked.connect(ProgramRunStatusShow.ShowWindow)
|
||||
programManager.addWidget(getProgramStatus, 1, 8, 1, 1)
|
||||
programManager.addItem(QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum), 1, 9, 1, 1)
|
||||
programManager.addWidget(QtWidgets.QLabel("WINE配置:"), 2, 0, 1, 1)
|
||||
wineConfig = QtWidgets.QPushButton("配置容器")
|
||||
programManager.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "WINE配置:")), 2, 0, 1, 1)
|
||||
wineConfig = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "配置容器"))
|
||||
wineConfig.clicked.connect(lambda: RunWineProgram("winecfg"))
|
||||
programManager.addWidget(wineConfig, 3, 0, 1, 1)
|
||||
fontAppStore = QtWidgets.QPushButton("字体商店")
|
||||
fontAppStore = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "字体商店"))
|
||||
fontAppStore.clicked.connect(FontAppStore)
|
||||
programManager.addWidget(fontAppStore, 3, 2, 1, 1)
|
||||
button_r_6 = QtWidgets.QPushButton("安装自定义字体")
|
||||
button_r_6 = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "安装自定义字体"))
|
||||
button_r_6.clicked.connect(OpenWineFontPath)
|
||||
programManager.addWidget(button_r_6, 3, 4, 1, 1)
|
||||
sparkWineSetting = QtWidgets.QPushButton("星火wine配置")
|
||||
sparkWineSetting = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "星火wine配置"))
|
||||
sparkWineSetting.clicked.connect(lambda: threading.Thread(target=os.system, args=["/opt/durapps/spark-dwine-helper/spark-dwine-helper-settings/settings.sh"]).start())
|
||||
programManager.addWidget(sparkWineSetting, 3, 6, 1, 1)
|
||||
# 权重
|
||||
@ -1493,7 +1508,7 @@ returnText.setStyleSheet("""
|
||||
background-color: black;
|
||||
color: white;
|
||||
""")
|
||||
returnText.setText("在此可以看到wine安装应用时的终端输出内容")
|
||||
returnText.setText(QtCore.QCoreApplication.translate("U", "在此可以看到wine安装应用时的终端输出内容"))
|
||||
mainLayout.setRowStretch(0, 2)
|
||||
mainLayout.setRowStretch(1, 1)
|
||||
mainLayout.setColumnStretch(0, 2)
|
||||
@ -1501,7 +1516,7 @@ mainLayout.setColumnStretch(1, 1)
|
||||
mainLayout.addWidget(returnText, 0, 1, 2, 1)
|
||||
|
||||
# 版权
|
||||
copy = QtWidgets.QLabel(f"""\n程序版本:{version}
|
||||
copy = QtWidgets.QLabel(f"""\n程序版本:{version},<b>提示:Wine 无法运行所有的 Windows 程序,如果想要运行更多可执行程序,可以考虑虚拟机和双系统</b><br>
|
||||
©2020~{time.strftime("%Y")} gfdgd xi、为什么您不喜欢熊出没和阿布呢""")
|
||||
mainLayout.addWidget(copy, 2, 0, 1, 1)
|
||||
|
||||
@ -1510,26 +1525,26 @@ programRun = QtWidgets.QWidget()
|
||||
programRunLayout = QtWidgets.QHBoxLayout()
|
||||
programRun.setLayout(programRunLayout)
|
||||
programRunLayout.addItem(QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum))
|
||||
button3 = QtWidgets.QPushButton("运行程序")
|
||||
button3 = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "运行程序"))
|
||||
button3.clicked.connect(runexebutton)
|
||||
programRunLayout.addWidget(button3)
|
||||
killProgram = QtWidgets.QPushButton("终止程序")
|
||||
killProgram = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "终止程序"))
|
||||
killProgram.clicked.connect(KillProgram)
|
||||
programRunLayout.addWidget(killProgram)
|
||||
mainLayout.addWidget(programRun, 2, 1, 1, 1)
|
||||
|
||||
# 菜单栏
|
||||
menu = window.menuBar()
|
||||
programmenu = menu.addMenu("程序(&P)")
|
||||
p1 = QtWidgets.QAction("安装 wine(&I)")
|
||||
installWineOnDeepin23 = QtWidgets.QAction("安装 wine(只限Deepin23)")
|
||||
installWineHQ = QtWidgets.QAction("安装 WineHQ")
|
||||
installMoreWine = QtWidgets.QAction("安装更多 Wine")
|
||||
p2 = QtWidgets.QAction("设置程序(&S)")
|
||||
p3 = QtWidgets.QAction("清空软件历史记录(&C)")
|
||||
cleanCache = QtWidgets.QAction("清空软件缓存")
|
||||
cleanProgramUnuse = QtWidgets.QAction("删除程序组件")
|
||||
p4 = QtWidgets.QAction("退出程序(&E)")
|
||||
programmenu = menu.addMenu(QtCore.QCoreApplication.translate("U", "程序(&P)"))
|
||||
p1 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "安装 wine(&I)"))
|
||||
installWineOnDeepin23 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "安装 wine(只限Deepin23)"))
|
||||
installWineHQ = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "安装 WineHQ"))
|
||||
installMoreWine = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "安装更多 Wine"))
|
||||
p2 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "设置程序(&S)"))
|
||||
p3 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "清空软件历史记录(&C)"))
|
||||
cleanCache = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "清空软件缓存"))
|
||||
cleanProgramUnuse = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "删除程序组件"))
|
||||
p4 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "退出程序(&E)"))
|
||||
programmenu.addAction(p1)
|
||||
programmenu.addAction(installWineOnDeepin23)
|
||||
programmenu.addAction(installWineHQ)
|
||||
@ -1545,24 +1560,24 @@ programmenu.addAction(p4)
|
||||
p1.triggered.connect(InstallWine)
|
||||
installWineOnDeepin23.triggered.connect(InstallWineOnDeepin23)
|
||||
installWineHQ.triggered.connect(InstallWineHQ)
|
||||
installMoreWine.triggered.connect(lambda: threading.Thread(target=os.system, args=[f"'{programPath}/wine/wine'"]).start())
|
||||
installMoreWine.triggered.connect(lambda: threading.Thread(target=os.system, args=[f"'{programPath}/wine/installwine'"]).start())
|
||||
p2.triggered.connect(ProgramSetting.ShowWindow)
|
||||
p3.triggered.connect(CleanProgramHistory)
|
||||
cleanCache.triggered.connect(CleanProgramCache)
|
||||
cleanProgramUnuse.triggered.connect(CleanProgram)
|
||||
p4.triggered.connect(window.close)
|
||||
|
||||
wineOption = menu.addMenu("Wine(&W)")
|
||||
w1 = QtWidgets.QAction("打开 Wine 容器目录")
|
||||
w2 = QtWidgets.QAction("安装常见字体")
|
||||
w3 = QtWidgets.QAction("安装自定义字体")
|
||||
w4 = QtWidgets.QAction("删除选择的 Wine 容器")
|
||||
cleanBottonUOS = QtWidgets.QAction("清理 Wine 容器(基于 Wine 适配活动脚本)")
|
||||
w5 = QtWidgets.QAction("打包 wine 应用")
|
||||
w6 = QtWidgets.QAction("使用官方 Wine 适配活动的脚本进行打包")
|
||||
w7 = QtWidgets.QAction("从镜像获取DLL(只支持Windows XP、Windows Server 2003官方安装镜像)")
|
||||
updateGeek = QtWidgets.QAction("从 Geek Uninstaller 官网升级程序")
|
||||
deleteDesktopIcon = QtWidgets.QAction("删除所有 Wine 程序在启动器的快捷方式")
|
||||
wineOption = menu.addMenu(QtCore.QCoreApplication.translate("U", "Wine(&W)"))
|
||||
w1 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "打开 Wine 容器目录"))
|
||||
w2 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "安装常见字体"))
|
||||
w3 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "安装自定义字体"))
|
||||
w4 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "删除选择的 Wine 容器"))
|
||||
cleanBottonUOS = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "清理 Wine 容器(基于 Wine 适配活动脚本)"))
|
||||
w5 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "打包 wine 应用"))
|
||||
w6 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "使用官方 Wine 适配活动的脚本进行打包"))
|
||||
w7 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "从镜像获取DLL(只支持Windows XP、Windows Server 2003官方安装镜像)"))
|
||||
updateGeek = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "从 Geek Uninstaller 官网升级程序"))
|
||||
deleteDesktopIcon = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "删除所有 Wine 程序在启动器的快捷方式"))
|
||||
wineOption.addAction(w1)
|
||||
wineOption.addAction(w2)
|
||||
wineOption.addAction(w3)
|
||||
@ -1576,26 +1591,26 @@ wineOption.addAction(w7)
|
||||
wineOption.addSeparator()
|
||||
wineOption.addAction(updateGeek)
|
||||
wineOption.addSeparator()
|
||||
wm1 = wineOption.addMenu("在指定 Wine、容器安装组件")
|
||||
wm1_1 = QtWidgets.QAction("在指定wine、指定容器安装 .net framework")
|
||||
wm1_2 = QtWidgets.QAction("在指定wine、指定容器安装 Visual Studio C++")
|
||||
wm1_3 = QtWidgets.QAction("在指定wine、指定容器安装 MSXML")
|
||||
wm1_4 = QtWidgets.QAction("在指定wine、指定容器安装 gecko")
|
||||
wm1_5 = QtWidgets.QAction("在指定wine、指定容器安装 mono")
|
||||
wm1_6 = QtWidgets.QAction("在指定wine、指定容器安装其它运行库")
|
||||
wm1 = wineOption.addMenu(QtCore.QCoreApplication.translate("U", "在指定 Wine、容器安装组件"))
|
||||
wm1_1 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "在指定wine、指定容器安装 .net framework"))
|
||||
wm1_2 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "在指定wine、指定容器安装 Visual Studio C++"))
|
||||
wm1_3 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "在指定wine、指定容器安装 MSXML"))
|
||||
wm1_4 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "在指定wine、指定容器安装 gecko"))
|
||||
wm1_5 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "在指定wine、指定容器安装 mono"))
|
||||
wm1_6 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "在指定wine、指定容器安装其它运行库"))
|
||||
wm1.addAction(wm1_1)
|
||||
wm1.addAction(wm1_2)
|
||||
wm1.addAction(wm1_3)
|
||||
wm1.addAction(wm1_4)
|
||||
wm1.addAction(wm1_5)
|
||||
wm1.addAction(wm1_6)
|
||||
wm2 = wineOption.addMenu("在指定 Wine、容器运行基础应用")
|
||||
wm2_1 = QtWidgets.QAction("打开指定wine、指定容器的控制面板")
|
||||
wm2_2 = QtWidgets.QAction("打开指定wine、指定容器的浏览器")
|
||||
wm2_3 = QtWidgets.QAction("打开指定wine、指定容器的注册表")
|
||||
wm2_4 = QtWidgets.QAction("打开指定wine、指定容器的任务管理器")
|
||||
wm2_5 = QtWidgets.QAction("打开指定wine、指定容器的资源管理器")
|
||||
wm2_6 = QtWidgets.QAction("打开指定wine、指定容器的关于 wine")
|
||||
wm2 = wineOption.addMenu(QtCore.QCoreApplication.translate("U", "在指定 Wine、容器运行基础应用"))
|
||||
wm2_1 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "打开指定wine、指定容器的控制面板"))
|
||||
wm2_2 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "打开指定wine、指定容器的浏览器"))
|
||||
wm2_3 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "打开指定wine、指定容器的注册表"))
|
||||
wm2_4 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "打开指定wine、指定容器的任务管理器"))
|
||||
wm2_5 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "打开指定wine、指定容器的资源管理器"))
|
||||
wm2_6 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "打开指定wine、指定容器的关于 wine"))
|
||||
wm2.addAction(wm2_1)
|
||||
wm2.addAction(wm2_2)
|
||||
wm2.addAction(wm2_3)
|
||||
@ -1603,29 +1618,29 @@ wm2.addAction(wm2_4)
|
||||
wm2.addAction(wm2_5)
|
||||
wm2.addAction(wm2_6)
|
||||
wineOption.addSeparator()
|
||||
w8 = QtWidgets.QAction("设置 run_v3.sh 的文管为 Deepin 默认文管")
|
||||
w9 = QtWidgets.QAction("设置 run_v3.sh 的文管为 Wine 默认文管")
|
||||
w10 = QtWidgets.QAction("重新安装 deepin-wine-helper")
|
||||
w11 = QtWidgets.QAction("使用winetricks打开指定容器")
|
||||
w8 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "设置 run_v3.sh 的文管为 Deepin 默认文管"))
|
||||
w9 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "设置 run_v3.sh 的文管为 Wine 默认文管"))
|
||||
w10 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "重新安装 deepin-wine-helper"))
|
||||
w11 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "使用winetricks打开指定容器"))
|
||||
wineOption.addAction(w8)
|
||||
wineOption.addAction(w9)
|
||||
wineOption.addAction(w10)
|
||||
wineOption.addSeparator()
|
||||
wineOption.addAction(w11)
|
||||
wineOption.addSeparator()
|
||||
wm3 = wineOption.addMenu("启用/禁用 opengl")
|
||||
wm3_1 = QtWidgets.QAction("开启 opengl")
|
||||
wm3_2 = QtWidgets.QAction("禁用 opengl")
|
||||
wm3 = wineOption.addMenu(QtCore.QCoreApplication.translate("U", "启用/禁用 opengl"))
|
||||
wm3_1 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "开启 opengl"))
|
||||
wm3_2 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "禁用 opengl"))
|
||||
wm3.addAction(wm3_1)
|
||||
wm3.addAction(wm3_2)
|
||||
wm4 = wineOption.addMenu("安装/卸载 winbind")
|
||||
wm4_1 = QtWidgets.QAction("安装 winbind")
|
||||
wm4_2 = QtWidgets.QAction("卸载 winbind")
|
||||
wm4 = wineOption.addMenu(QtCore.QCoreApplication.translate("U", "安装/卸载 winbind"))
|
||||
wm4_1 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "安装 winbind"))
|
||||
wm4_2 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "卸载 winbind"))
|
||||
wm4.addAction(wm4_1)
|
||||
wm4.addAction(wm4_2)
|
||||
dxvkMenu = wineOption.addMenu("安装/卸载 DXVK")
|
||||
installDxvk = QtWidgets.QAction("安装 DXVK")
|
||||
uninstallDxvk = QtWidgets.QAction("卸载 DXVK")
|
||||
dxvkMenu = wineOption.addMenu(QtCore.QCoreApplication.translate("U", "安装/卸载 DXVK"))
|
||||
installDxvk = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "安装 DXVK"))
|
||||
uninstallDxvk = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "卸载 DXVK"))
|
||||
dxvkMenu.addAction(installDxvk)
|
||||
dxvkMenu.addAction(uninstallDxvk)
|
||||
wineOption.addSeparator()
|
||||
@ -1663,15 +1678,15 @@ installDxvk.triggered.connect(InstallDXVK)
|
||||
uninstallDxvk.triggered.connect(UninstallDXVK)
|
||||
deleteDesktopIcon.triggered.connect(DeleteDesktopIcon)
|
||||
|
||||
virtualMachine = menu.addMenu("虚拟机(&V)")
|
||||
v1 = QtWidgets.QAction("使用 Virtualbox 虚拟机运行 Windows 应用")
|
||||
virtualMachine = menu.addMenu(QtCore.QCoreApplication.translate("U", "虚拟机(&V)"))
|
||||
v1 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "使用 Virtualbox 虚拟机运行 Windows 应用"))
|
||||
virtualMachine.addAction(v1)
|
||||
v1.triggered.connect(RunVM)
|
||||
|
||||
safeWebsize = menu.addMenu("云沙箱(&C)")
|
||||
s1 = QtWidgets.QAction("360 沙箱云")
|
||||
s2 = QtWidgets.QAction("微步云沙箱")
|
||||
s3 = QtWidgets.QAction("VIRUSTOTAL")
|
||||
safeWebsize = menu.addMenu(QtCore.QCoreApplication.translate("U", "云沙箱(&C)"))
|
||||
s1 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "360 沙箱云"))
|
||||
s2 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "微步云沙箱"))
|
||||
s3 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "VIRUSTOTAL"))
|
||||
safeWebsize.addAction(s1)
|
||||
safeWebsize.addAction(s2)
|
||||
safeWebsize.addAction(s3)
|
||||
@ -1679,15 +1694,15 @@ s1.triggered.connect(lambda: webbrowser.open_new_tab("https://ata.360.net/"))
|
||||
s2.triggered.connect(lambda: webbrowser.open_new_tab("https://s.threatbook.cn/"))
|
||||
s3.triggered.connect(lambda: webbrowser.open_new_tab("https://www.virustotal.com/"))
|
||||
|
||||
help = menu.addMenu("帮助(&H)")
|
||||
h1 = QtWidgets.QAction("程序官网")
|
||||
h2 = QtWidgets.QAction("小提示")
|
||||
h3 = QtWidgets.QAction("更新内容")
|
||||
h4 = QtWidgets.QAction("谢明名单")
|
||||
h5 = QtWidgets.QAction("更新这个程序")
|
||||
h6 = QtWidgets.QAction("反馈这个程序的建议和问题")
|
||||
h7 = QtWidgets.QAction("关于这个程序")
|
||||
h8 = QtWidgets.QAction("关于 Qt")
|
||||
help = menu.addMenu(QtCore.QCoreApplication.translate("U", "帮助(&H)"))
|
||||
h1 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "程序官网"))
|
||||
h2 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "小提示"))
|
||||
h3 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "更新内容"))
|
||||
h4 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "谢明名单"))
|
||||
h5 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "更新这个程序"))
|
||||
h6 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "反馈这个程序的建议和问题"))
|
||||
h7 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "关于这个程序"))
|
||||
h8 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "关于 Qt"))
|
||||
help.addAction(h1)
|
||||
help.addSeparator()
|
||||
help.addAction(h2)
|
||||
@ -1699,8 +1714,8 @@ help.addAction(h6)
|
||||
help.addAction(h7)
|
||||
help.addAction(h8)
|
||||
help.addSeparator()
|
||||
hm1 = help.addMenu("更多生态适配应用")
|
||||
hm1_1 = QtWidgets.QAction("运行 Android 应用:UEngine 运行器")
|
||||
hm1 = help.addMenu(QtCore.QCoreApplication.translate("U", "更多生态适配应用"))
|
||||
hm1_1 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "运行 Android 应用:UEngine 运行器"))
|
||||
hm1.addAction(hm1_1)
|
||||
h1.triggered.connect(OpenProgramURL)
|
||||
h2.triggered.connect(helps)
|
||||
@ -1731,7 +1746,7 @@ else:
|
||||
o1.addItems(wine.keys())
|
||||
# 禁用被精简掉的控件
|
||||
for i in [
|
||||
[[p1, installWineOnDeepin23, installWineHQ], f"{programPath}/InstallWineOnDeepin23.py"],
|
||||
[[p1, installWineOnDeepin23, installWineHQ, installMoreWine], f"{programPath}/InstallWineOnDeepin23.py"],
|
||||
[[w5], f"{programPath}/deepin-wine-packager.py"],
|
||||
[[w6], f"{programPath}/deepin-wine-packager-with-script.py"],
|
||||
[[p1, v1], f"{programPath}/RunVM.sh"],
|
||||
@ -1744,6 +1759,7 @@ for i in [
|
||||
if subprocess.getoutput("arch").lower() != "x86_64":
|
||||
p1.setDisabled(True)
|
||||
installWineOnDeepin23.setDisabled(True)
|
||||
installMoreWine.setDisabled(True)
|
||||
virtualMachine.setDisabled(True)
|
||||
v1.setDisabled(True)
|
||||
installWineHQ.setDisabled(True)
|
||||
|
Binary file not shown.
BIN
deb/opt/apps/deepin-wine-runner/gtkGetFileNameDlg
Executable file
BIN
deb/opt/apps/deepin-wine-runner/gtkGetFileNameDlg
Executable file
Binary file not shown.
@ -1,5 +1,5 @@
|
||||
{
|
||||
"Version": "2.0.0-2",
|
||||
"Version": "2.1.0",
|
||||
"Thank": [
|
||||
"感谢 @a2035274 @虚幻的早晨 https://bbs.deepin.org/post/238301",
|
||||
"感谢 @zhangs https://bbs.deepin.org/post/227948",
|
||||
@ -18,10 +18,13 @@
|
||||
"感谢 @办公助手 提供的非 X86 平台 Wine 运行自定义 exe 应用教程和 deb 包",
|
||||
"感谢 @季星火 反馈的无法使用该程序删除生成的 .desktop 的问题",
|
||||
"感谢 @ZYH 提供的敏感词列表",
|
||||
"感谢 @五行缺钱 反馈的 2.0.0 在 Deepin 23 缺失依赖 toilet 的问题",
|
||||
"感谢 @云的眼泪 @zhengjl 反馈的 2.0.0 发布忘记把安装包传蓝奏云的问题",
|
||||
"感谢 @虚幻的早晨 提出的添加 DXVK、VKD3D 的功能(VKD3D 暂未实现)",
|
||||
"感谢统信在 Wine 生态适配活动中提供的打包脚本",
|
||||
"也感谢 DXVK 的开发者开发了 DXVK 这个程序,项目链接:https://github.com/doitsujin/dxvk",
|
||||
"也感谢 WineHQ 开发团队开发的 WineHQ,项目网址:https://dl.winehq.org/",
|
||||
"最后也感谢支持本程序的用户和上传相关软件运行情况数据的用户,有你们的支持和使用,使这个程序变得更好",
|
||||
"",
|
||||
"可以从上面的各种解决方案更好的学习 Wine 生态适配,也可以看 deepin 论坛板块 https://bbs.deepin.org/module/detail/116 进行学习,最后也向各位有进行 Wine 生态适配的大佬进行由衷的感谢!",
|
||||
"如果上面有遗漏,请向我反馈补充"
|
||||
|
Binary file not shown.
@ -2,7 +2,7 @@
|
||||
# 使用系统默认的 python3 运行
|
||||
###########################################################################################
|
||||
# 作者:gfdgd xi
|
||||
# 版本:1.5.3
|
||||
# 版本:2.0.1
|
||||
# 更新时间:2022年07月08日
|
||||
# 感谢:感谢 wine 以及 deepin-wine 团队,提供了 wine 和 deepin-wine 给大家使用,让我能做这个程序
|
||||
# 基于 Python3 的 tkinter 构建
|
||||
@ -15,6 +15,15 @@ import os
|
||||
###################
|
||||
# 程序功能
|
||||
###################
|
||||
print('''
|
||||
m m "
|
||||
# # # mmm m mm mmm
|
||||
" #"# # # #" # #" #
|
||||
## ##" # # # #""""
|
||||
# # mm#mm # # "#mm"
|
||||
|
||||
|
||||
''')
|
||||
print("请保证你能有 root 权限以便安装")
|
||||
print("如果有请按回车,否则按 [Ctrl+C] 退出", end=' ')
|
||||
input()
|
||||
|
Binary file not shown.
@ -27,17 +27,17 @@ import PyQt5.QtWidgets as QtWidgets
|
||||
#################
|
||||
|
||||
def button1_cl():
|
||||
path = QtWidgets.QFileDialog.getExistingDirectory(widget, "选择 wine 容器", f"{get_home()}/.deepinwine")
|
||||
path = QtWidgets.QFileDialog.getExistingDirectory(QtCore.QCoreApplication.translate("U", "选择 wine 容器"), f"{get_home()}/.deepinwine")
|
||||
if path != "":
|
||||
e6_text.setText(path)
|
||||
|
||||
def button2_cl():
|
||||
path = QtWidgets.QFileDialog.getOpenFileName(widget, "选择图标文件", get_home(), "PNG图标(*.png);;SVG图标(*.svg);;全部文件(*.*)")[0]
|
||||
path = QtWidgets.QFileDialog.getOpenFileName(widget, QtCore.QCoreApplication.translate("U", "选择图标文件"), get_home(), "PNG图标(*.png);;SVG图标(*.svg);;全部文件(*.*)")[0]
|
||||
if path != "":
|
||||
e9_text.setText(path)
|
||||
|
||||
def button4_cl():
|
||||
path = QtWidgets.QFileDialog.getSaveFileName(widget, "保存 deb 包", get_home(), "deb 文件(*.deb);;所有文件(*.*)", "{}_{}_i386.deb".format(e1_text.text(), e2_text.text()))[0]
|
||||
path = QtWidgets.QFileDialog.getSaveFileName(widget, QtCore.QCoreApplication.translate("U", "保存 deb 包"), get_home(), "deb 文件(*.deb);;所有文件(*.*)", "{}_{}_i386.deb".format(e1_text.text(), e2_text.text()))[0]
|
||||
if path != "":
|
||||
e12_text.setText(path)
|
||||
|
||||
@ -99,7 +99,7 @@ def make_deb(build=False):
|
||||
disabled_or_NORMAL_all(True)
|
||||
label13_text_change("必填信息没有填写完整,无法继续构建 deb 包")
|
||||
return
|
||||
if QtWidgets.QMessageBox.question(widget, "提示", "打包将会改动现在选择的容器,是否继续?") == QtWidgets.QMessageBox.No:
|
||||
if QtWidgets.QMessageBox.question(widget, QtCore.QCoreApplication.translate("U", "提示"), QtCore.QCoreApplication.translate("U", "打包将会改动现在选择的容器,是否继续?")) == QtWidgets.QMessageBox.No:
|
||||
disabled_or_NORMAL_all(True)
|
||||
return
|
||||
#thread = threading.Thread(target=make_deb_threading)
|
||||
@ -832,6 +832,7 @@ fi
|
||||
print("e")
|
||||
self.label.emit("正在处理 Wine")
|
||||
if os.path.exists(wine[wineVersion.currentText()]):
|
||||
shutil.copy(f"{programPath}/gtkGetFileNameDlg", f"{debPackagePath}/opt/apps/{e1_text.text()}/files/gtkGetFileNameDlg")
|
||||
if wine[wineVersion.currentText()][-3:] == ".7z":
|
||||
shutil.copy(wine[wineVersion.currentText()], f"{debPackagePath}/opt/apps/{e1_text.text()}/files/wine_archive.7z")
|
||||
else:
|
||||
@ -1081,24 +1082,24 @@ e12_text = QtWidgets.QLineEdit()
|
||||
e15_text = QtWidgets.QLineEdit()
|
||||
label13_text = QtWidgets.QLabel("<p align='center'>当前 deb 打包情况:暂未打包</p>")
|
||||
option1_text = QtWidgets.QComboBox()
|
||||
button1 = QtWidgets.QPushButton("浏览……")
|
||||
button2 = QtWidgets.QPushButton("浏览……")
|
||||
button4 = QtWidgets.QPushButton("浏览……")
|
||||
button1 = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "浏览……"))
|
||||
button2 = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "浏览……"))
|
||||
button4 = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "浏览……"))
|
||||
debControlFrame = QtWidgets.QHBoxLayout()
|
||||
button5 = QtWidgets.QPushButton("打包……")
|
||||
installDeb = QtWidgets.QPushButton("安装打包完成的 deb……")
|
||||
buildDebDir = QtWidgets.QPushButton("根据填写内容打包模板")
|
||||
button5 = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "打包……"))
|
||||
installDeb = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "安装打包完成的 deb……"))
|
||||
buildDebDir = QtWidgets.QPushButton(QtCore.QCoreApplication.translate("U", "根据填写内容打包模板"))
|
||||
debControlFrame.addWidget(button5)
|
||||
debControlFrame.addWidget(installDeb)
|
||||
rmBash = QtWidgets.QCheckBox("设置卸载该 deb 后自动删除该容器")
|
||||
cleanBottonByUOS = QtWidgets.QCheckBox("使用统信 Wine 生态适配活动容器清理脚本")
|
||||
rmBash = QtWidgets.QCheckBox(QtCore.QCoreApplication.translate("U", "设置卸载该 deb 后自动删除该容器"))
|
||||
cleanBottonByUOS = QtWidgets.QCheckBox(QtCore.QCoreApplication.translate("U", "使用统信 Wine 生态适配活动容器清理脚本"))
|
||||
debArch = QtWidgets.QComboBox()
|
||||
debArch.addItems(["i386", "arm64(box86)", "arm64(exagear)"])
|
||||
textbox1 = QtWidgets.QTextBrowser()
|
||||
option1_text.addItems(["Network", "Chat", "Audio", "Video", "Graphics", "Office", "Translation", "Development", "Utility"])
|
||||
option1_text.setCurrentText("Network")
|
||||
wineFrame = QtWidgets.QHBoxLayout()
|
||||
chooseWineHelperValue = QtWidgets.QCheckBox("使用星火wine helper\n(如不勾选默认为deepin-wine-helper)")
|
||||
chooseWineHelperValue = QtWidgets.QCheckBox(QtCore.QCoreApplication.translate("U", "使用星火wine helper\n(如不勾选默认为deepin-wine-helper)"))
|
||||
button1.clicked.connect(button1_cl)
|
||||
button2.clicked.connect(button2_cl)
|
||||
button4.clicked.connect(button4_cl)
|
||||
@ -1108,19 +1109,19 @@ installDeb.clicked.connect(InstallDeb)
|
||||
wineFrame.addWidget(wineVersion)
|
||||
debArch.currentIndexChanged.connect(ChangeArchCombobox)
|
||||
# 创建控件
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("要打包的 deb 包的包名(※必填):"), 0, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("要打包的 deb 包的版本号(※必填):"), 1, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("要打包的 deb 包的说明(※必填):"), 2, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("要打包的 deb 包的维护者(※必填):"), 3, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("要解压的 wine 容器的容器名(※必填):"), 4, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("要解压的 wine 容器(※必填):"), 5, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("wine 容器里需要运行的可执行文件路径(※必填):"), 6, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("要显示的 .desktop 文件的分类(※必填):"), 7, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("wine 容器里需要运行的可执行文件的参数(选填):"), 8, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("要显示的 .desktop 文件的名称(※必填):"), 9, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("要显示的 .desktop 文件的图标(选填):"), 10, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("选择打包的 wine 版本(※必选):"), 12, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel("打包 deb 的保存路径(※必填):"), 13, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要打包的 deb 包的包名(※必填):")), 0, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要打包的 deb 包的版本号(※必填):")), 1, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要打包的 deb 包的说明(※必填):")), 2, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要打包的 deb 包的维护者(※必填):")), 3, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要解压的 wine 容器的容器名(※必填):")), 4, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要解压的 wine 容器(※必填):")), 5, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "wine 容器里需要运行的可执行文件路径(※必填):")), 6, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要显示的 .desktop 文件的分类(※必填):")), 7, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "wine 容器里需要运行的可执行文件的参数(选填):")), 8, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要显示的 .desktop 文件的名称(※必填):")), 9, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要显示的 .desktop 文件的图标(选填):")), 10, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "选择打包的 wine 版本(※必选):")), 12, 0, 1, 1)
|
||||
widgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "打包 deb 的保存路径(※必填):")), 13, 0, 1, 1)
|
||||
widgetLayout.addWidget(e1_text, 0, 1, 1, 1)
|
||||
widgetLayout.addWidget(e2_text, 1, 1, 1, 1)
|
||||
widgetLayout.addWidget(e3_text, 2, 1, 1, 1)
|
||||
@ -1141,30 +1142,30 @@ widgetLayout.addLayout(debControlFrame, 16, 1, 1, 1)
|
||||
widgetLayout.addWidget(label13_text, 17, 0, 1, 3)
|
||||
widgetLayout.addWidget(textbox1, 18, 0, 1, 3)
|
||||
# 高级功能
|
||||
moreSetting = QtWidgets.QGroupBox("高级设置")
|
||||
moreSetting = QtWidgets.QGroupBox(QtCore.QCoreApplication.translate("U", "高级设置"))
|
||||
debDepends = QtWidgets.QLineEdit()
|
||||
debRecommend = QtWidgets.QLineEdit()
|
||||
debDepends.setPlaceholderText("deb 包的依赖(如无特殊需求默认即可)")
|
||||
debDepends.setPlaceholderText(QtCore.QCoreApplication.translate("U", "deb 包的依赖(如无特殊需求默认即可)"))
|
||||
debDepends.setText("deepin-wine6-stable, deepin-wine-helper (>= 5.1.30-1), fonts-wqy-microhei, fonts-wqy-zenhei")
|
||||
debRecommend.setPlaceholderText("deb 包的推荐依赖(非强制,一般默认即可)")
|
||||
debRecommend.setPlaceholderText(QtCore.QCoreApplication.translate("U", "deb 包的推荐依赖(非强制,一般默认即可)"))
|
||||
moreSettingLayout = QtWidgets.QVBoxLayout()
|
||||
localWineVersion = QtWidgets.QComboBox()
|
||||
useInstallWineArch = QtWidgets.QComboBox()
|
||||
useInstallWineArch.addItems(["wine", "wine64"])
|
||||
moreSettingLayout.addWidget(QtWidgets.QLabel("Wine 位数(只限本地需要打包集成的Wine):\n提示:32位的Wine不能使用64位容器"))
|
||||
moreSettingLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "Wine 位数(只限本地需要打包集成的Wine):\n提示:32位的Wine不能使用64位容器")))
|
||||
#moreSettingLayout.addWidget(localWineVersion)
|
||||
moreSettingLayout.addWidget(useInstallWineArch)
|
||||
moreSettingLayout.addWidget(QtWidgets.QLabel("deb 包选项:"))
|
||||
moreSettingLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "deb 包选项:")))
|
||||
moreSettingLayout.addWidget(rmBash)
|
||||
moreSettingLayout.addWidget(cleanBottonByUOS)
|
||||
moreSettingLayout.addWidget(chooseWineHelperValue)
|
||||
moreSettingLayout.addWidget(QtWidgets.QLabel("deb 的依赖(强制,如无特殊需求默认即可):"))
|
||||
moreSettingLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "deb 的依赖(强制,如无特殊需求默认即可):")))
|
||||
moreSettingLayout.addWidget(debDepends)
|
||||
moreSettingLayout.addWidget(QtWidgets.QLabel("deb 的推荐依赖(非强制,一般默认即可):"))
|
||||
moreSettingLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "deb 的推荐依赖(非强制,一般默认即可):")))
|
||||
moreSettingLayout.addWidget(debRecommend)
|
||||
moreSettingLayout.addWidget(QtWidgets.QLabel("要显示的 .desktop 文件的 MimeType:"))
|
||||
moreSettingLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "要显示的 .desktop 文件的 MimeType:")))
|
||||
moreSettingLayout.addWidget(e10_text)
|
||||
moreSettingLayout.addWidget(QtWidgets.QLabel("打包 deb 架构:"))
|
||||
moreSettingLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "打包 deb 架构:")))
|
||||
moreSettingLayout.addWidget(debArch)
|
||||
moreSetting.setLayout(moreSettingLayout)
|
||||
widgetLayout.addWidget(moreSetting, 0, 3, 16, 1)
|
||||
@ -1174,10 +1175,10 @@ wineVersion.currentTextChanged.connect(ChangeWine)
|
||||
chooseWineHelperValue.stateChanged.connect(ChangeWine)
|
||||
# 菜单栏
|
||||
menu = window.menuBar()
|
||||
programmenu = menu.addMenu("程序")
|
||||
help = menu.addMenu("帮助")
|
||||
exit = QtWidgets.QAction("退出程序")
|
||||
tip = QtWidgets.QAction("小提示")
|
||||
programmenu = menu.addMenu(QtCore.QCoreApplication.translate("U", "程序"))
|
||||
help = menu.addMenu(QtCore.QCoreApplication.translate("U", "帮助"))
|
||||
exit = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "退出程序"))
|
||||
tip = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "小提示"))
|
||||
exit.triggered.connect(window.close)
|
||||
tip.triggered.connect(helps)
|
||||
programmenu.addAction(exit)
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"Version": "2.0.1",
|
||||
"Version": "2.1.0",
|
||||
"Thank": [
|
||||
"感谢 @a2035274 @虚幻的早晨 https://bbs.deepin.org/post/238301",
|
||||
"感谢 @zhangs https://bbs.deepin.org/post/227948",
|
||||
@ -18,10 +18,13 @@
|
||||
"感谢 @办公助手 提供的非 X86 平台 Wine 运行自定义 exe 应用教程和 deb 包",
|
||||
"感谢 @季星火 反馈的无法使用该程序删除生成的 .desktop 的问题",
|
||||
"感谢 @ZYH 提供的敏感词列表",
|
||||
"感谢 @五行缺钱 反馈的 2.0.0 在 Deepin 23 缺失依赖 toilet 的问题",
|
||||
"感谢 @云的眼泪 @zhengjl 反馈的 2.0.0 发布忘记把安装包传蓝奏云的问题",
|
||||
"感谢 @虚幻的早晨 提出的添加 DXVK、VKD3D 的功能(VKD3D 暂未实现)",
|
||||
"感谢统信在 Wine 生态适配活动中提供的打包脚本",
|
||||
"也感谢 DXVK 的开发者开发了 DXVK 这个程序,项目链接:https://github.com/doitsujin/dxvk",
|
||||
"也感谢 WineHQ 开发团队开发的 WineHQ,项目网址:https://dl.winehq.org/",
|
||||
"最后也感谢支持本程序的用户和上传相关软件运行情况数据的用户,有你们的支持和使用,使这个程序变得更好",
|
||||
"",
|
||||
"可以从上面的各种解决方案更好的学习 Wine 生态适配,也可以看 deepin 论坛板块 https://bbs.deepin.org/module/detail/116 进行学习,最后也向各位有进行 Wine 生态适配的大佬进行由衷的感谢!",
|
||||
"如果上面有遗漏,请向我反馈补充"
|
||||
|
@ -26,8 +26,6 @@ import urllib.parse as parse
|
||||
import PyQt5.QtGui as QtGui
|
||||
import PyQt5.QtCore as QtCore
|
||||
import PyQt5.QtWidgets as QtWidgets
|
||||
# 方便一些,单独把 tr 抽出来
|
||||
from PyQt5.QtCore import QObject
|
||||
###################
|
||||
# 程序所需事件
|
||||
###################
|
||||
@ -122,6 +120,7 @@ def DisableButton(things):
|
||||
e1.setDisabled(things)
|
||||
e2.setDisabled(things)
|
||||
o1.setDisabled(things)
|
||||
miniAppStore.setDisabled(things)
|
||||
#winetricksOpen.configure(state=a[things])
|
||||
getProgramIcon.setDisabled(things)
|
||||
uninstallProgram.setDisabled(things)
|
||||
@ -516,6 +515,13 @@ def FontAppStore():
|
||||
wineBottonPath = e1.currentText()
|
||||
os.system(f"WINE='{programPath}/launch.sh' deepin-terminal -e '{programPath}/InstallFont.py' '{wineBottonPath}' {int(setting['RuntimeCache'])}")
|
||||
|
||||
def GetDllFromInternet():
|
||||
if e1.currentText() == "":
|
||||
wineBottonPath = setting["DefultBotton"]
|
||||
else:
|
||||
wineBottonPath = e1.currentText()
|
||||
os.system(f"WINE='{programPath}/launch.sh' deepin-terminal -e '{programPath}/InstallDll.py' '{wineBottonPath}' {int(setting['RuntimeCache'])}")
|
||||
|
||||
def InstallMonoGecko(program):
|
||||
if e1.currentText() == "":
|
||||
wineBottonPath = setting["DefultBotton"]
|
||||
@ -1042,7 +1048,7 @@ class ProgramRunStatusUpload():
|
||||
ProgramRunStatusUpload.fen.setCurrentIndex(4)
|
||||
ProgramRunStatusUpload.fen.currentIndexChanged.connect(ProgramRunStatusUpload.ChangeStar)
|
||||
msgWidgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "程序名:")), 0, 0)
|
||||
msgWidgetLayout.addWidget(QtCore.QCoreApplication.translate("U", QtWidgets.QLabel("评分:")), 1, 0)
|
||||
msgWidgetLayout.addWidget(QtWidgets.QLabel(QtCore.QCoreApplication.translate("U", "评分:")), 1, 0)
|
||||
msgWidgetLayout.addWidget(ProgramRunStatusUpload.programName, 0, 1)
|
||||
msgWidgetLayout.addWidget(ProgramRunStatusUpload.fen, 1, 1)
|
||||
msgWidgetLayout.addLayout(ProgramRunStatusUpload.starLayout, 2, 1)
|
||||
@ -1307,6 +1313,10 @@ except:
|
||||
QtWidgets.QMessageBox.critical(None, "错误", f"无法读取配置,无法继续\n{traceback.format_exc()}")
|
||||
sys.exit(1)
|
||||
|
||||
# 获取当前语言
|
||||
def get_now_lang()->"获取当前语言":
|
||||
return os.getenv('LANG')
|
||||
|
||||
###########################
|
||||
# 程序信息
|
||||
###########################
|
||||
@ -1335,15 +1345,16 @@ exe路径\' 参数 \'
|
||||
以及此脚本安装的 Wine 无法保证 100% 能使用,以及副作用是会提示
|
||||
<code>N: 鉴于仓库 'https://community-packages.deepin.com/beige beige InRelease' 不支持 'i386' 体系结构,跳过配置文件 'main/binary-i386/Packages' 的获取。</code>'''
|
||||
updateThingsString = '''<b>※1、新增新的 Wine 安装器,并支持将安装的 Wine 打包到 Wine 程序 deb 包中
|
||||
※2、Wine 打包器打包 Windows 应用支持将 Wine 打包入 deb 内,可以不依赖 Wine(一般不推荐把 Wine 打包入内,推荐用依赖的形式),并支持设置自定义依赖和生成模板</b>
|
||||
3、修改错别字(图形话=>图形化)
|
||||
3、修复评分功能名称为空也可以上传评分的问题
|
||||
4、去除 toilet 依赖,使在 Deepin 23 Preview 上运行更佳
|
||||
5、支持删除所有由 Wine 创建的启动器快捷方式
|
||||
※2、Wine 打包器打包 Windows 应用支持将 Wine 打包入 deb 内,可以不依赖 Wine(一般不推荐把 Wine 打包入内,推荐用依赖的形式),并支持设置自定义依赖和生成模板
|
||||
※3、开始初步多语言支持</b>
|
||||
4、修改错别字(图形话=>图形化)
|
||||
5、修复评分功能名称为空也可以上传评分的问题
|
||||
6、去除 toilet 依赖,使在 Deepin 23 Preview 上运行更佳
|
||||
7、支持删除所有由 Wine 创建的启动器快捷方式
|
||||
'''
|
||||
for i in information["Thank"]:
|
||||
thankText += f"{i}\n"
|
||||
updateTime = "2022年08月22日"
|
||||
updateTime = "2022年08月24日"
|
||||
about = f'''<h1>关于</h1>
|
||||
<p>一个能让Linux用户更加方便运行Windows应用的程序,内置了对wine图形化的支持和各种Wine工具和自制Wine程序打包器、运行库安装工具等等</p>
|
||||
<p>同时也内置了基于VirtualBox制作的小白Windows虚拟机安装工具,可以做到只需要用户下载系统镜像并点击安装即可,无需顾及虚拟机安装、创建、虚拟机的分区等等</p>
|
||||
@ -1386,9 +1397,10 @@ except:
|
||||
# Qt 窗口
|
||||
app = QtWidgets.QApplication(sys.argv)
|
||||
# 语言载入
|
||||
trans = QtCore.QTranslator()
|
||||
trans.load(f"{programPath}/LANG/deepin-wine-runner-en_US.qm")
|
||||
app.installTranslator(trans)
|
||||
if not get_now_lang() == "zh_CN.UTF-8":
|
||||
trans = QtCore.QTranslator()
|
||||
trans.load(f"{programPath}/LANG/deepin-wine-runner-en_US.qm")
|
||||
app.installTranslator(trans)
|
||||
window = QtWidgets.QMainWindow()
|
||||
widget = QtWidgets.QWidget()
|
||||
window.setCentralWidget(widget)
|
||||
@ -1569,6 +1581,7 @@ w4 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "删除选择的 W
|
||||
cleanBottonUOS = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "清理 Wine 容器(基于 Wine 适配活动脚本)"))
|
||||
w5 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "打包 wine 应用"))
|
||||
w6 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "使用官方 Wine 适配活动的脚本进行打包"))
|
||||
getDllOnInternet = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "从互联网获取DLL"))
|
||||
w7 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "从镜像获取DLL(只支持Windows XP、Windows Server 2003官方安装镜像)"))
|
||||
updateGeek = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "从 Geek Uninstaller 官网升级程序"))
|
||||
deleteDesktopIcon = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "删除所有 Wine 程序在启动器的快捷方式"))
|
||||
@ -1581,6 +1594,7 @@ wineOption.addSeparator()
|
||||
wineOption.addAction(w5)
|
||||
wineOption.addAction(w6)
|
||||
wineOption.addSeparator()
|
||||
wineOption.addAction(getDllOnInternet)
|
||||
wineOption.addAction(w7)
|
||||
wineOption.addSeparator()
|
||||
wineOption.addAction(updateGeek)
|
||||
@ -1646,6 +1660,7 @@ w4.triggered.connect(DeleteWineBotton)
|
||||
cleanBottonUOS.triggered.connect(CleanWineBottonByUOS)
|
||||
w5.triggered.connect(BuildExeDeb)
|
||||
w6.triggered.connect(UOSPackageScript)
|
||||
getDllOnInternet.triggered.connect(GetDllFromInternet)
|
||||
w7.triggered.connect(GetDllFromWindowsISO.ShowWindow)
|
||||
updateGeek.triggered.connect(lambda: os.system(f"'{programPath}/launch.sh' deepin-terminal -C '\"{programPath}/UpdateGeek.sh\"' --keep-open"))
|
||||
w8.triggered.connect(SetDeepinFileDialogDeepin)
|
||||
@ -1689,7 +1704,7 @@ s2.triggered.connect(lambda: webbrowser.open_new_tab("https://s.threatbook.cn/")
|
||||
s3.triggered.connect(lambda: webbrowser.open_new_tab("https://www.virustotal.com/"))
|
||||
|
||||
help = menu.addMenu(QtCore.QCoreApplication.translate("U", "帮助(&H)"))
|
||||
h1 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "程序官网"))
|
||||
h1 = help.addMenu(QtCore.QCoreApplication.translate("U", "程序官网"))
|
||||
h2 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "小提示"))
|
||||
h3 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "更新内容"))
|
||||
h4 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "谢明名单"))
|
||||
@ -1697,12 +1712,29 @@ h5 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "更新这个程
|
||||
h6 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "反馈这个程序的建议和问题"))
|
||||
h7 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "关于这个程序"))
|
||||
h8 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "关于 Qt"))
|
||||
help.addAction(h1)
|
||||
gfdgdxiio = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "作者个人站"))
|
||||
gitee = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "Gitee"))
|
||||
github = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "Github"))
|
||||
gitlink = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "Gitlink"))
|
||||
gitlab = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "Gitlab"))
|
||||
jihu = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "极狐"))
|
||||
h1.addAction(gfdgdxiio)
|
||||
h1.addAction(gitee)
|
||||
h1.addAction(github)
|
||||
h1.addAction(gitlink)
|
||||
h1.addAction(gitlab)
|
||||
h1.addAction(jihu)
|
||||
help.addSeparator()
|
||||
help.addAction(h2)
|
||||
help.addAction(h3)
|
||||
help.addAction(h4)
|
||||
help.addSeparator()
|
||||
videoHelp = help.addMenu(QtCore.QCoreApplication.translate("U", "视频教程"))
|
||||
easyHelp = QtWidgets.QAction("简易使用教程")
|
||||
buildHelp = QtWidgets.QAction("打包教程")
|
||||
videoHelp.addAction(easyHelp)
|
||||
videoHelp.addAction(buildHelp)
|
||||
help.addSeparator()
|
||||
help.addAction(h5)
|
||||
help.addAction(h6)
|
||||
help.addAction(h7)
|
||||
@ -1711,10 +1743,17 @@ help.addSeparator()
|
||||
hm1 = help.addMenu(QtCore.QCoreApplication.translate("U", "更多生态适配应用"))
|
||||
hm1_1 = QtWidgets.QAction(QtCore.QCoreApplication.translate("U", "运行 Android 应用:UEngine 运行器"))
|
||||
hm1.addAction(hm1_1)
|
||||
h1.triggered.connect(OpenProgramURL)
|
||||
gfdgdxiio.triggered.connect(lambda: webbrowser.open_new_tab("https://gfdgd-xi.github.io"))
|
||||
gitee.triggered.connect(lambda: webbrowser.open_new_tab("https://gitee.com/gfdgd-xi/deep-wine-runner"))
|
||||
github.triggered.connect(lambda: webbrowser.open_new_tab("https://github.com/gfdgd-xi/deep-wine-runner"))
|
||||
gitlink.triggered.connect(lambda: webbrowser.open_new_tab("https://gitlink.org.cn/gfdgd_xi/deep-wine-runner"))
|
||||
gitlab.triggered.connect(lambda: webbrowser.open_new_tab("https://gitlab.com/gfdgd-xi/deep-wine-runner"))
|
||||
jihu.triggered.connect(lambda: webbrowser.open_new_tab("https://jihulab.com//gfdgd-xi/deep-wine-runner"))
|
||||
h2.triggered.connect(helps)
|
||||
h3.triggered.connect(UpdateThings)
|
||||
h4.triggered.connect(ThankWindow)
|
||||
easyHelp.triggered.connect(lambda: webbrowser.open_new_tab("https://www.bilibili.com/video/BV1ma411972Y"))
|
||||
buildHelp.triggered.connect(lambda: webbrowser.open_new_tab("https://www.bilibili.com/video/BV1EU4y1k7zr"))
|
||||
h5.triggered.connect(UpdateWindow.ShowWindow)
|
||||
h6.triggered.connect(WineRunnerBugUpload)
|
||||
h7.triggered.connect(about_this_program)
|
||||
|
Binary file not shown.
@ -1,3 +1,3 @@
|
||||
{
|
||||
"Version": "2.0.1"
|
||||
"Version": "2.1.0"
|
||||
}
|
||||
|
Binary file not shown.
@ -262,6 +262,10 @@ def on_delButton_clicked():
|
||||
traceback.print_exc()
|
||||
QtWidgets.QMessageBox.critical(window, "错误", traceback.format_exc())
|
||||
|
||||
# 获取当前语言
|
||||
def get_now_lang()->"获取当前语言":
|
||||
return os.getenv('LANG')
|
||||
|
||||
if __name__ == "__main__":
|
||||
localJsonList = []
|
||||
internetJsonList = []
|
||||
@ -269,9 +273,10 @@ if __name__ == "__main__":
|
||||
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
|
||||
app = QtWidgets.QApplication(sys.argv)
|
||||
# 读取翻译
|
||||
trans = QtCore.QTranslator()
|
||||
trans.load(f"{programPath}/../LANG/installwine-en_US.qm")
|
||||
app.installTranslator(trans)
|
||||
if not get_now_lang() == "zh_CN.UTF-8":
|
||||
trans = QtCore.QTranslator()
|
||||
trans.load(f"{programPath}/../LANG/installwine-en_US.qm")
|
||||
app.installTranslator(trans)
|
||||
# 窗口构建
|
||||
window = QtWidgets.QMainWindow()
|
||||
ui = Ui_MainWindow()
|
||||
|
BIN
wine/main.o
BIN
wine/main.o
Binary file not shown.
Binary file not shown.
@ -1,207 +0,0 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'downloadthread.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.3)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../wine-source/downloadthread.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'downloadthread.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.3. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_DownloadThread_t {
|
||||
QByteArrayData data[12];
|
||||
char stringdata0[127];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_DownloadThread_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_DownloadThread_t qt_meta_stringdata_DownloadThread = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 14), // "DownloadThread"
|
||||
QT_MOC_LITERAL(1, 15, 14), // "MessageBoxInfo"
|
||||
QT_MOC_LITERAL(2, 30, 0), // ""
|
||||
QT_MOC_LITERAL(3, 31, 4), // "info"
|
||||
QT_MOC_LITERAL(4, 36, 15), // "MessageBoxError"
|
||||
QT_MOC_LITERAL(5, 52, 12), // "ChangeDialog"
|
||||
QT_MOC_LITERAL(6, 65, 16), // "QProgressDialog*"
|
||||
QT_MOC_LITERAL(7, 82, 6), // "dialog"
|
||||
QT_MOC_LITERAL(8, 89, 5), // "value"
|
||||
QT_MOC_LITERAL(9, 95, 13), // "downloadBytes"
|
||||
QT_MOC_LITERAL(10, 109, 10), // "totalBytes"
|
||||
QT_MOC_LITERAL(11, 120, 6) // "Finish"
|
||||
|
||||
},
|
||||
"DownloadThread\0MessageBoxInfo\0\0info\0"
|
||||
"MessageBoxError\0ChangeDialog\0"
|
||||
"QProgressDialog*\0dialog\0value\0"
|
||||
"downloadBytes\0totalBytes\0Finish"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_DownloadThread[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
4, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
4, // signalCount
|
||||
|
||||
// signals: name, argc, parameters, tag, flags
|
||||
1, 1, 34, 2, 0x06 /* Public */,
|
||||
4, 1, 37, 2, 0x06 /* Public */,
|
||||
5, 4, 40, 2, 0x06 /* Public */,
|
||||
11, 0, 49, 2, 0x06 /* Public */,
|
||||
|
||||
// signals: parameters
|
||||
QMetaType::Void, QMetaType::QString, 3,
|
||||
QMetaType::Void, QMetaType::QString, 3,
|
||||
QMetaType::Void, 0x80000000 | 6, QMetaType::Int, QMetaType::Int, QMetaType::Int, 7, 8, 9, 10,
|
||||
QMetaType::Void,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void DownloadThread::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<DownloadThread *>(_o);
|
||||
(void)_t;
|
||||
switch (_id) {
|
||||
case 0: _t->MessageBoxInfo((*reinterpret_cast< QString(*)>(_a[1]))); break;
|
||||
case 1: _t->MessageBoxError((*reinterpret_cast< QString(*)>(_a[1]))); break;
|
||||
case 2: _t->ChangeDialog((*reinterpret_cast< QProgressDialog*(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3])),(*reinterpret_cast< int(*)>(_a[4]))); break;
|
||||
case 3: _t->Finish(); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
switch (_id) {
|
||||
default: *reinterpret_cast<int*>(_a[0]) = -1; break;
|
||||
case 2:
|
||||
switch (*reinterpret_cast<int*>(_a[1])) {
|
||||
default: *reinterpret_cast<int*>(_a[0]) = -1; break;
|
||||
case 0:
|
||||
*reinterpret_cast<int*>(_a[0]) = qRegisterMetaType< QProgressDialog* >(); break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
} else if (_c == QMetaObject::IndexOfMethod) {
|
||||
int *result = reinterpret_cast<int *>(_a[0]);
|
||||
{
|
||||
using _t = void (DownloadThread::*)(QString );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&DownloadThread::MessageBoxInfo)) {
|
||||
*result = 0;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (DownloadThread::*)(QString );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&DownloadThread::MessageBoxError)) {
|
||||
*result = 1;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (DownloadThread::*)(QProgressDialog * , int , int , int );
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&DownloadThread::ChangeDialog)) {
|
||||
*result = 2;
|
||||
return;
|
||||
}
|
||||
}
|
||||
{
|
||||
using _t = void (DownloadThread::*)();
|
||||
if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&DownloadThread::Finish)) {
|
||||
*result = 3;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject DownloadThread::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QThread::staticMetaObject>(),
|
||||
qt_meta_stringdata_DownloadThread.data,
|
||||
qt_meta_data_DownloadThread,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *DownloadThread::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *DownloadThread::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_DownloadThread.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QThread::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int DownloadThread::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QThread::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 4)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 4;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 4)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 4;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
|
||||
// SIGNAL 0
|
||||
void DownloadThread::MessageBoxInfo(QString _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 0, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 1
|
||||
void DownloadThread::MessageBoxError(QString _t1)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 1, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 2
|
||||
void DownloadThread::ChangeDialog(QProgressDialog * _t1, int _t2, int _t3, int _t4)
|
||||
{
|
||||
void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t2))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t3))), const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t4))) };
|
||||
QMetaObject::activate(this, &staticMetaObject, 2, _a);
|
||||
}
|
||||
|
||||
// SIGNAL 3
|
||||
void DownloadThread::Finish()
|
||||
{
|
||||
QMetaObject::activate(this, &staticMetaObject, 3, nullptr);
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
Binary file not shown.
@ -1,168 +0,0 @@
|
||||
/****************************************************************************
|
||||
** Meta object code from reading C++ file 'mainwindow.h'
|
||||
**
|
||||
** Created by: The Qt Meta Object Compiler version 67 (Qt 5.15.3)
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost!
|
||||
*****************************************************************************/
|
||||
|
||||
#include <memory>
|
||||
#include "../wine-source/mainwindow.h"
|
||||
#include <QtCore/qbytearray.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
#if !defined(Q_MOC_OUTPUT_REVISION)
|
||||
#error "The header file 'mainwindow.h' doesn't include <QObject>."
|
||||
#elif Q_MOC_OUTPUT_REVISION != 67
|
||||
#error "This file was generated using the moc from 5.15.3. It"
|
||||
#error "cannot be used with the include files from this version of Qt."
|
||||
#error "(The moc has changed too much.)"
|
||||
#endif
|
||||
|
||||
QT_BEGIN_MOC_NAMESPACE
|
||||
QT_WARNING_PUSH
|
||||
QT_WARNING_DISABLE_DEPRECATED
|
||||
struct qt_meta_stringdata_MainWindow_t {
|
||||
QByteArrayData data[16];
|
||||
char stringdata0[218];
|
||||
};
|
||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||
qptrdiff(offsetof(qt_meta_stringdata_MainWindow_t, stringdata0) + ofs \
|
||||
- idx * sizeof(QByteArrayData)) \
|
||||
)
|
||||
static const qt_meta_stringdata_MainWindow_t qt_meta_stringdata_MainWindow = {
|
||||
{
|
||||
QT_MOC_LITERAL(0, 0, 10), // "MainWindow"
|
||||
QT_MOC_LITERAL(1, 11, 20), // "on_addButton_clicked"
|
||||
QT_MOC_LITERAL(2, 32, 0), // ""
|
||||
QT_MOC_LITERAL(3, 33, 20), // "ReadLocalInformation"
|
||||
QT_MOC_LITERAL(4, 54, 23), // "ReadInternetInformation"
|
||||
QT_MOC_LITERAL(5, 78, 20), // "on_delButton_clicked"
|
||||
QT_MOC_LITERAL(6, 99, 14), // "MessageBoxInfo"
|
||||
QT_MOC_LITERAL(7, 114, 4), // "info"
|
||||
QT_MOC_LITERAL(8, 119, 15), // "MessageBoxError"
|
||||
QT_MOC_LITERAL(9, 135, 12), // "ChangeDialog"
|
||||
QT_MOC_LITERAL(10, 148, 16), // "QProgressDialog*"
|
||||
QT_MOC_LITERAL(11, 165, 6), // "dialog"
|
||||
QT_MOC_LITERAL(12, 172, 5), // "value"
|
||||
QT_MOC_LITERAL(13, 178, 13), // "downloadBytes"
|
||||
QT_MOC_LITERAL(14, 192, 10), // "totalBytes"
|
||||
QT_MOC_LITERAL(15, 203, 14) // "DownloadFinish"
|
||||
|
||||
},
|
||||
"MainWindow\0on_addButton_clicked\0\0"
|
||||
"ReadLocalInformation\0ReadInternetInformation\0"
|
||||
"on_delButton_clicked\0MessageBoxInfo\0"
|
||||
"info\0MessageBoxError\0ChangeDialog\0"
|
||||
"QProgressDialog*\0dialog\0value\0"
|
||||
"downloadBytes\0totalBytes\0DownloadFinish"
|
||||
};
|
||||
#undef QT_MOC_LITERAL
|
||||
|
||||
static const uint qt_meta_data_MainWindow[] = {
|
||||
|
||||
// content:
|
||||
8, // revision
|
||||
0, // classname
|
||||
0, 0, // classinfo
|
||||
8, 14, // methods
|
||||
0, 0, // properties
|
||||
0, 0, // enums/sets
|
||||
0, 0, // constructors
|
||||
0, // flags
|
||||
0, // signalCount
|
||||
|
||||
// slots: name, argc, parameters, tag, flags
|
||||
1, 0, 54, 2, 0x08 /* Private */,
|
||||
3, 0, 55, 2, 0x08 /* Private */,
|
||||
4, 0, 56, 2, 0x08 /* Private */,
|
||||
5, 0, 57, 2, 0x08 /* Private */,
|
||||
6, 1, 58, 2, 0x0a /* Public */,
|
||||
8, 1, 61, 2, 0x0a /* Public */,
|
||||
9, 4, 64, 2, 0x0a /* Public */,
|
||||
15, 0, 73, 2, 0x0a /* Public */,
|
||||
|
||||
// slots: parameters
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void,
|
||||
QMetaType::Void, QMetaType::QString, 7,
|
||||
QMetaType::Void, QMetaType::QString, 7,
|
||||
QMetaType::Void, 0x80000000 | 10, QMetaType::Int, QMetaType::Int, QMetaType::Int, 11, 12, 13, 14,
|
||||
QMetaType::Void,
|
||||
|
||||
0 // eod
|
||||
};
|
||||
|
||||
void MainWindow::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
auto *_t = static_cast<MainWindow *>(_o);
|
||||
(void)_t;
|
||||
switch (_id) {
|
||||
case 0: _t->on_addButton_clicked(); break;
|
||||
case 1: _t->ReadLocalInformation(); break;
|
||||
case 2: _t->ReadInternetInformation(); break;
|
||||
case 3: _t->on_delButton_clicked(); break;
|
||||
case 4: _t->MessageBoxInfo((*reinterpret_cast< QString(*)>(_a[1]))); break;
|
||||
case 5: _t->MessageBoxError((*reinterpret_cast< QString(*)>(_a[1]))); break;
|
||||
case 6: _t->ChangeDialog((*reinterpret_cast< QProgressDialog*(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])),(*reinterpret_cast< int(*)>(_a[3])),(*reinterpret_cast< int(*)>(_a[4]))); break;
|
||||
case 7: _t->DownloadFinish(); break;
|
||||
default: ;
|
||||
}
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
switch (_id) {
|
||||
default: *reinterpret_cast<int*>(_a[0]) = -1; break;
|
||||
case 6:
|
||||
switch (*reinterpret_cast<int*>(_a[1])) {
|
||||
default: *reinterpret_cast<int*>(_a[0]) = -1; break;
|
||||
case 0:
|
||||
*reinterpret_cast<int*>(_a[0]) = qRegisterMetaType< QProgressDialog* >(); break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QT_INIT_METAOBJECT const QMetaObject MainWindow::staticMetaObject = { {
|
||||
QMetaObject::SuperData::link<QMainWindow::staticMetaObject>(),
|
||||
qt_meta_stringdata_MainWindow.data,
|
||||
qt_meta_data_MainWindow,
|
||||
qt_static_metacall,
|
||||
nullptr,
|
||||
nullptr
|
||||
} };
|
||||
|
||||
|
||||
const QMetaObject *MainWindow::metaObject() const
|
||||
{
|
||||
return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
|
||||
}
|
||||
|
||||
void *MainWindow::qt_metacast(const char *_clname)
|
||||
{
|
||||
if (!_clname) return nullptr;
|
||||
if (!strcmp(_clname, qt_meta_stringdata_MainWindow.stringdata0))
|
||||
return static_cast<void*>(this);
|
||||
return QMainWindow::qt_metacast(_clname);
|
||||
}
|
||||
|
||||
int MainWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||
{
|
||||
_id = QMainWindow::qt_metacall(_c, _id, _a);
|
||||
if (_id < 0)
|
||||
return _id;
|
||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||
if (_id < 8)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 8;
|
||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||
if (_id < 8)
|
||||
qt_static_metacall(this, _c, _id, _a);
|
||||
_id -= 8;
|
||||
}
|
||||
return _id;
|
||||
}
|
||||
QT_WARNING_POP
|
||||
QT_END_MOC_NAMESPACE
|
Binary file not shown.
@ -1,375 +0,0 @@
|
||||
#define __DBL_MIN_EXP__ (-1021)
|
||||
#define __FLT32X_MAX_EXP__ 1024
|
||||
#define __cpp_attributes 200809
|
||||
#define __UINT_LEAST16_MAX__ 0xffff
|
||||
#define __ATOMIC_ACQUIRE 2
|
||||
#define __FLT128_MAX_10_EXP__ 4932
|
||||
#define __FLT_MIN__ 1.17549435082228750796873653722224568e-38F
|
||||
#define __GCC_IEC_559_COMPLEX 2
|
||||
#define __UINT_LEAST8_TYPE__ unsigned char
|
||||
#define __SIZEOF_FLOAT80__ 16
|
||||
#define __INTMAX_C(c) c ## L
|
||||
#define __CHAR_BIT__ 8
|
||||
#define __UINT8_MAX__ 0xff
|
||||
#define __WINT_MAX__ 0xffffffffU
|
||||
#define __FLT32_MIN_EXP__ (-125)
|
||||
#define __cpp_static_assert 200410
|
||||
#define __ORDER_LITTLE_ENDIAN__ 1234
|
||||
#define __SIZE_MAX__ 0xffffffffffffffffUL
|
||||
#define __WCHAR_MAX__ 0x7fffffff
|
||||
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
|
||||
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
|
||||
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
|
||||
#define __DBL_DENORM_MIN__ double(4.94065645841246544176568792868221372e-324L)
|
||||
#define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
|
||||
#define __GCC_ATOMIC_CHAR_LOCK_FREE 2
|
||||
#define __GCC_IEC_559 2
|
||||
#define __FLT32X_DECIMAL_DIG__ 17
|
||||
#define __FLT_EVAL_METHOD__ 0
|
||||
#define __unix__ 1
|
||||
#define __cpp_binary_literals 201304
|
||||
#define __FLT64_DECIMAL_DIG__ 17
|
||||
#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2
|
||||
#define __x86_64 1
|
||||
#define __cpp_variadic_templates 200704
|
||||
#define __UINT_FAST64_MAX__ 0xffffffffffffffffUL
|
||||
#define __SIG_ATOMIC_TYPE__ int
|
||||
#define __DBL_MIN_10_EXP__ (-307)
|
||||
#define __FINITE_MATH_ONLY__ 0
|
||||
#define __GNUC_PATCHLEVEL__ 0
|
||||
#define __FLT32_HAS_DENORM__ 1
|
||||
#define __UINT_FAST8_MAX__ 0xff
|
||||
#define __has_include(STR) __has_include__(STR)
|
||||
#define __DEC64_MAX_EXP__ 385
|
||||
#define __INT8_C(c) c
|
||||
#define __INT_LEAST8_WIDTH__ 8
|
||||
#define __UINT_LEAST64_MAX__ 0xffffffffffffffffUL
|
||||
#define __SHRT_MAX__ 0x7fff
|
||||
#define __LDBL_MAX__ 1.18973149535723176502126385303097021e+4932L
|
||||
#define __FLT64X_MAX_10_EXP__ 4932
|
||||
#define __UINT_LEAST8_MAX__ 0xff
|
||||
#define __GCC_ATOMIC_BOOL_LOCK_FREE 2
|
||||
#define __FLT128_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F128
|
||||
#define __UINTMAX_TYPE__ long unsigned int
|
||||
#define __linux 1
|
||||
#define __DEC32_EPSILON__ 1E-6DF
|
||||
#define __FLT_EVAL_METHOD_TS_18661_3__ 0
|
||||
#define __OPTIMIZE__ 1
|
||||
#define __unix 1
|
||||
#define __UINT32_MAX__ 0xffffffffU
|
||||
#define __GXX_EXPERIMENTAL_CXX0X__ 1
|
||||
#define __LDBL_MAX_EXP__ 16384
|
||||
#define __FLT128_MIN_EXP__ (-16381)
|
||||
#define __WINT_MIN__ 0U
|
||||
#define __linux__ 1
|
||||
#define __FLT128_MIN_10_EXP__ (-4931)
|
||||
#define __INT_LEAST16_WIDTH__ 16
|
||||
#define __SCHAR_MAX__ 0x7f
|
||||
#define __FLT128_MANT_DIG__ 113
|
||||
#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1)
|
||||
#define __INT64_C(c) c ## L
|
||||
#define __DBL_DIG__ 15
|
||||
#define __GCC_ATOMIC_POINTER_LOCK_FREE 2
|
||||
#define __FLT64X_MANT_DIG__ 64
|
||||
#define __SIZEOF_INT__ 4
|
||||
#define __SIZEOF_POINTER__ 8
|
||||
#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2
|
||||
#define __USER_LABEL_PREFIX__
|
||||
#define __FLT64X_EPSILON__ 1.08420217248550443400745280086994171e-19F64x
|
||||
#define __STDC_HOSTED__ 1
|
||||
#define __LDBL_HAS_INFINITY__ 1
|
||||
#define __FLT32_DIG__ 6
|
||||
#define __FLT_EPSILON__ 1.19209289550781250000000000000000000e-7F
|
||||
#define __GXX_WEAK__ 1
|
||||
#define __SHRT_WIDTH__ 16
|
||||
#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
|
||||
#define __DEC32_MAX__ 9.999999E96DF
|
||||
#define __cpp_threadsafe_static_init 200806
|
||||
#define __FLT64X_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951F64x
|
||||
#define __FLT32X_HAS_INFINITY__ 1
|
||||
#define __INT32_MAX__ 0x7fffffff
|
||||
#define __INT_WIDTH__ 32
|
||||
#define __SIZEOF_LONG__ 8
|
||||
#define __STDC_IEC_559__ 1
|
||||
#define __STDC_ISO_10646__ 201706L
|
||||
#define __UINT16_C(c) c
|
||||
#define __PTRDIFF_WIDTH__ 64
|
||||
#define __DECIMAL_DIG__ 21
|
||||
#define __FLT64_EPSILON__ 2.22044604925031308084726333618164062e-16F64
|
||||
#define __gnu_linux__ 1
|
||||
#define __INTMAX_WIDTH__ 64
|
||||
#define __FLT64_MIN_EXP__ (-1021)
|
||||
#define __has_include_next(STR) __has_include_next__(STR)
|
||||
#define __FLT64X_MIN_10_EXP__ (-4931)
|
||||
#define __LDBL_HAS_QUIET_NAN__ 1
|
||||
#define __FLT64_MANT_DIG__ 53
|
||||
#define __GNUC__ 8
|
||||
#define __GXX_RTTI 1
|
||||
#define __MMX__ 1
|
||||
#define __cpp_delegating_constructors 200604
|
||||
#define __FLT_HAS_DENORM__ 1
|
||||
#define __SIZEOF_LONG_DOUBLE__ 16
|
||||
#define __BIGGEST_ALIGNMENT__ 16
|
||||
#define __STDC_UTF_16__ 1
|
||||
#define __FLT64_MAX_10_EXP__ 308
|
||||
#define __FLT32_HAS_INFINITY__ 1
|
||||
#define __DBL_MAX__ double(1.79769313486231570814527423731704357e+308L)
|
||||
#define __cpp_raw_strings 200710
|
||||
#define __INT_FAST32_MAX__ 0x7fffffffffffffffL
|
||||
#define __DBL_HAS_INFINITY__ 1
|
||||
#define __DEC32_MIN_EXP__ (-94)
|
||||
#define __INTPTR_WIDTH__ 64
|
||||
#define __FLT32X_HAS_DENORM__ 1
|
||||
#define __INT_FAST16_TYPE__ long int
|
||||
#define __LDBL_HAS_DENORM__ 1
|
||||
#define __cplusplus 201103L
|
||||
#define __cpp_ref_qualifiers 200710
|
||||
#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL
|
||||
#define __INT_LEAST32_MAX__ 0x7fffffff
|
||||
#define __DEC32_MIN__ 1E-95DF
|
||||
#define __DEPRECATED 1
|
||||
#define __cpp_rvalue_references 200610
|
||||
#define __DBL_MAX_EXP__ 1024
|
||||
#define __WCHAR_WIDTH__ 32
|
||||
#define __FLT32_MAX__ 3.40282346638528859811704183484516925e+38F32
|
||||
#define __DEC128_EPSILON__ 1E-33DL
|
||||
#define __SSE2_MATH__ 1
|
||||
#define __ATOMIC_HLE_RELEASE 131072
|
||||
#define __PTRDIFF_MAX__ 0x7fffffffffffffffL
|
||||
#define __amd64 1
|
||||
#define __ATOMIC_HLE_ACQUIRE 65536
|
||||
#define __FLT32_HAS_QUIET_NAN__ 1
|
||||
#define __GNUG__ 8
|
||||
#define __LONG_LONG_MAX__ 0x7fffffffffffffffLL
|
||||
#define __SIZEOF_SIZE_T__ 8
|
||||
#define __cpp_rvalue_reference 200610
|
||||
#define __cpp_nsdmi 200809
|
||||
#define __FLT64X_MIN_EXP__ (-16381)
|
||||
#define __SIZEOF_WINT_T__ 4
|
||||
#define __LONG_LONG_WIDTH__ 64
|
||||
#define __cpp_initializer_lists 200806
|
||||
#define __FLT32_MAX_EXP__ 128
|
||||
#define __cpp_hex_float 201603
|
||||
#define __GCC_HAVE_DWARF2_CFI_ASM 1
|
||||
#define __GXX_ABI_VERSION 1013
|
||||
#define __FLT128_HAS_INFINITY__ 1
|
||||
#define __FLT_MIN_EXP__ (-125)
|
||||
#define __cpp_lambdas 200907
|
||||
#define __FLT64X_HAS_QUIET_NAN__ 1
|
||||
#define __INT_FAST64_TYPE__ long int
|
||||
#define __FLT64_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F64
|
||||
#define __DBL_MIN__ double(2.22507385850720138309023271733240406e-308L)
|
||||
#define __LP64__ 1
|
||||
#define __FLT32X_EPSILON__ 2.22044604925031308084726333618164062e-16F32x
|
||||
#define __DECIMAL_BID_FORMAT__ 1
|
||||
#define __FLT64_MIN_10_EXP__ (-307)
|
||||
#define __FLT64X_DECIMAL_DIG__ 21
|
||||
#define __DEC128_MIN__ 1E-6143DL
|
||||
#define __REGISTER_PREFIX__
|
||||
#define __UINT16_MAX__ 0xffff
|
||||
#define __DBL_HAS_DENORM__ 1
|
||||
#define __FLT32_MIN__ 1.17549435082228750796873653722224568e-38F32
|
||||
#define __UINT8_TYPE__ unsigned char
|
||||
#define __FLT_MANT_DIG__ 24
|
||||
#define __LDBL_DECIMAL_DIG__ 21
|
||||
#define __VERSION__ "8.3.0"
|
||||
#define __UINT64_C(c) c ## UL
|
||||
#define __cpp_unicode_characters 200704
|
||||
#define _STDC_PREDEF_H 1
|
||||
#define __GCC_ATOMIC_INT_LOCK_FREE 2
|
||||
#define __FLT128_MAX_EXP__ 16384
|
||||
#define __FLT32_MANT_DIG__ 24
|
||||
#define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__
|
||||
#define __STDC_IEC_559_COMPLEX__ 1
|
||||
#define __FLT128_HAS_DENORM__ 1
|
||||
#define __FLT128_DIG__ 33
|
||||
#define __SCHAR_WIDTH__ 8
|
||||
#define __INT32_C(c) c
|
||||
#define __DEC64_EPSILON__ 1E-15DD
|
||||
#define __ORDER_PDP_ENDIAN__ 3412
|
||||
#define __DEC128_MIN_EXP__ (-6142)
|
||||
#define __FLT32_MAX_10_EXP__ 38
|
||||
#define __INT_FAST32_TYPE__ long int
|
||||
#define __UINT_LEAST16_TYPE__ short unsigned int
|
||||
#define __FLT64X_HAS_INFINITY__ 1
|
||||
#define unix 1
|
||||
#define __INT16_MAX__ 0x7fff
|
||||
#define __cpp_rtti 199711
|
||||
#define __SIZE_TYPE__ long unsigned int
|
||||
#define __UINT64_MAX__ 0xffffffffffffffffUL
|
||||
#define __FLT64X_DIG__ 18
|
||||
#define __INT8_TYPE__ signed char
|
||||
#define __ELF__ 1
|
||||
#define __GCC_ASM_FLAG_OUTPUTS__ 1
|
||||
#define __FLT_RADIX__ 2
|
||||
#define __INT_LEAST16_TYPE__ short int
|
||||
#define __LDBL_EPSILON__ 1.08420217248550443400745280086994171e-19L
|
||||
#define __UINTMAX_C(c) c ## UL
|
||||
#define __GLIBCXX_BITSIZE_INT_N_0 128
|
||||
#define __k8 1
|
||||
#define __SIG_ATOMIC_MAX__ 0x7fffffff
|
||||
#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2
|
||||
#define __SIZEOF_PTRDIFF_T__ 8
|
||||
#define __FLT32X_MANT_DIG__ 53
|
||||
#define __x86_64__ 1
|
||||
#define __FLT32X_MIN_EXP__ (-1021)
|
||||
#define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF
|
||||
#define __INT_FAST16_MAX__ 0x7fffffffffffffffL
|
||||
#define __FLT64_DIG__ 15
|
||||
#define __UINT_FAST32_MAX__ 0xffffffffffffffffUL
|
||||
#define __UINT_LEAST64_TYPE__ long unsigned int
|
||||
#define __FLT_HAS_QUIET_NAN__ 1
|
||||
#define __FLT_MAX_10_EXP__ 38
|
||||
#define __LONG_MAX__ 0x7fffffffffffffffL
|
||||
#define __FLT64X_HAS_DENORM__ 1
|
||||
#define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL
|
||||
#define __FLT_HAS_INFINITY__ 1
|
||||
#define __cpp_unicode_literals 200710
|
||||
#define __UINT_FAST16_TYPE__ long unsigned int
|
||||
#define __DEC64_MAX__ 9.999999999999999E384DD
|
||||
#define __INT_FAST32_WIDTH__ 64
|
||||
#define __CHAR16_TYPE__ short unsigned int
|
||||
#define __PRAGMA_REDEFINE_EXTNAME 1
|
||||
#define __SIZE_WIDTH__ 64
|
||||
#define __SEG_FS 1
|
||||
#define __INT_LEAST16_MAX__ 0x7fff
|
||||
#define __DEC64_MANT_DIG__ 16
|
||||
#define __INT64_MAX__ 0x7fffffffffffffffL
|
||||
#define __UINT_LEAST32_MAX__ 0xffffffffU
|
||||
#define __SEG_GS 1
|
||||
#define __FLT32_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F32
|
||||
#define __GCC_ATOMIC_LONG_LOCK_FREE 2
|
||||
#define __SIG_ATOMIC_WIDTH__ 32
|
||||
#define __INT_LEAST64_TYPE__ long int
|
||||
#define __INT16_TYPE__ short int
|
||||
#define __INT_LEAST8_TYPE__ signed char
|
||||
#define __DEC32_MAX_EXP__ 97
|
||||
#define __INT_FAST8_MAX__ 0x7f
|
||||
#define __FLT128_MAX__ 1.18973149535723176508575932662800702e+4932F128
|
||||
#define __INTPTR_MAX__ 0x7fffffffffffffffL
|
||||
#define linux 1
|
||||
#define __cpp_range_based_for 200907
|
||||
#define __FLT64_HAS_QUIET_NAN__ 1
|
||||
#define __FLT32_MIN_10_EXP__ (-37)
|
||||
#define __SSE2__ 1
|
||||
#define __EXCEPTIONS 1
|
||||
#define __LDBL_MANT_DIG__ 64
|
||||
#define __DBL_HAS_QUIET_NAN__ 1
|
||||
#define __FLT64_HAS_INFINITY__ 1
|
||||
#define __FLT64X_MAX__ 1.18973149535723176502126385303097021e+4932F64x
|
||||
#define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1)
|
||||
#define __code_model_small__ 1
|
||||
#define __k8__ 1
|
||||
#define __INTPTR_TYPE__ long int
|
||||
#define __UINT16_TYPE__ short unsigned int
|
||||
#define __WCHAR_TYPE__ int
|
||||
#define __SIZEOF_FLOAT__ 4
|
||||
#define __UINTPTR_MAX__ 0xffffffffffffffffUL
|
||||
#define __INT_FAST64_WIDTH__ 64
|
||||
#define __DEC64_MIN_EXP__ (-382)
|
||||
#define __cpp_decltype 200707
|
||||
#define __FLT32_DECIMAL_DIG__ 9
|
||||
#define __INT_FAST64_MAX__ 0x7fffffffffffffffL
|
||||
#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1
|
||||
#define __FLT_DIG__ 6
|
||||
#define __FLT64X_MAX_EXP__ 16384
|
||||
#define __UINT_FAST64_TYPE__ long unsigned int
|
||||
#define __INT_MAX__ 0x7fffffff
|
||||
#define __amd64__ 1
|
||||
#define __INT64_TYPE__ long int
|
||||
#define __FLT_MAX_EXP__ 128
|
||||
#define __ORDER_BIG_ENDIAN__ 4321
|
||||
#define __DBL_MANT_DIG__ 53
|
||||
#define __cpp_inheriting_constructors 201511
|
||||
#define __SIZEOF_FLOAT128__ 16
|
||||
#define __INT_LEAST64_MAX__ 0x7fffffffffffffffL
|
||||
#define __DEC64_MIN__ 1E-383DD
|
||||
#define __WINT_TYPE__ unsigned int
|
||||
#define __UINT_LEAST32_TYPE__ unsigned int
|
||||
#define __SIZEOF_SHORT__ 2
|
||||
#define __SSE__ 1
|
||||
#define __LDBL_MIN_EXP__ (-16381)
|
||||
#define __FLT64_MAX__ 1.79769313486231570814527423731704357e+308F64
|
||||
#define __WINT_WIDTH__ 32
|
||||
#define __INT_LEAST8_MAX__ 0x7f
|
||||
#define __FLT32X_MAX_10_EXP__ 308
|
||||
#define __SIZEOF_INT128__ 16
|
||||
#define __LDBL_MAX_10_EXP__ 4932
|
||||
#define __ATOMIC_RELAXED 0
|
||||
#define __DBL_EPSILON__ double(2.22044604925031308084726333618164062e-16L)
|
||||
#define __FLT128_MIN__ 3.36210314311209350626267781732175260e-4932F128
|
||||
#define _LP64 1
|
||||
#define __UINT8_C(c) c
|
||||
#define __FLT64_MAX_EXP__ 1024
|
||||
#define __INT_LEAST32_TYPE__ int
|
||||
#define __SIZEOF_WCHAR_T__ 4
|
||||
#define __FLT128_HAS_QUIET_NAN__ 1
|
||||
#define __INT_FAST8_TYPE__ signed char
|
||||
#define __FLT64X_MIN__ 3.36210314311209350626267781732175260e-4932F64x
|
||||
#define __GNUC_STDC_INLINE__ 1
|
||||
#define __FLT64_HAS_DENORM__ 1
|
||||
#define __FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32
|
||||
#define __DBL_DECIMAL_DIG__ 17
|
||||
#define __STDC_UTF_32__ 1
|
||||
#define __INT_FAST8_WIDTH__ 8
|
||||
#define __FXSR__ 1
|
||||
#define __DEC_EVAL_METHOD__ 2
|
||||
#define __FLT32X_MAX__ 1.79769313486231570814527423731704357e+308F32x
|
||||
#define __cpp_runtime_arrays 198712
|
||||
#define __UINT64_TYPE__ long unsigned int
|
||||
#define __UINT32_C(c) c ## U
|
||||
#define __INTMAX_MAX__ 0x7fffffffffffffffL
|
||||
#define __cpp_alias_templates 200704
|
||||
#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
|
||||
#define __FLT_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F
|
||||
#define __INT8_MAX__ 0x7f
|
||||
#define __LONG_WIDTH__ 64
|
||||
#define __UINT_FAST32_TYPE__ long unsigned int
|
||||
#define __CHAR32_TYPE__ unsigned int
|
||||
#define __FLT_MAX__ 3.40282346638528859811704183484516925e+38F
|
||||
#define __cpp_constexpr 200704
|
||||
#define __INT32_TYPE__ int
|
||||
#define __SIZEOF_DOUBLE__ 8
|
||||
#define __cpp_exceptions 199711
|
||||
#define __FLT_MIN_10_EXP__ (-37)
|
||||
#define __FLT64_MIN__ 2.22507385850720138309023271733240406e-308F64
|
||||
#define __INT_LEAST32_WIDTH__ 32
|
||||
#define __INTMAX_TYPE__ long int
|
||||
#define __DEC128_MAX_EXP__ 6145
|
||||
#define __FLT32X_HAS_QUIET_NAN__ 1
|
||||
#define __ATOMIC_CONSUME 1
|
||||
#define __GNUC_MINOR__ 3
|
||||
#define __GLIBCXX_TYPE_INT_N_0 __int128
|
||||
#define __INT_FAST16_WIDTH__ 64
|
||||
#define __UINTMAX_MAX__ 0xffffffffffffffffUL
|
||||
#define __DEC32_MANT_DIG__ 7
|
||||
#define __FLT32X_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F32x
|
||||
#define __DBL_MAX_10_EXP__ 308
|
||||
#define __LDBL_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951L
|
||||
#define __INT16_C(c) c
|
||||
#define __STDC__ 1
|
||||
#define __FLT32X_DIG__ 15
|
||||
#define __PTRDIFF_TYPE__ long int
|
||||
#define __ATOMIC_SEQ_CST 5
|
||||
#define __UINT32_TYPE__ unsigned int
|
||||
#define __FLT32X_MIN_10_EXP__ (-307)
|
||||
#define __UINTPTR_TYPE__ long unsigned int
|
||||
#define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD
|
||||
#define __DEC128_MANT_DIG__ 34
|
||||
#define __LDBL_MIN_10_EXP__ (-4931)
|
||||
#define __FLT128_EPSILON__ 1.92592994438723585305597794258492732e-34F128
|
||||
#define __SSE_MATH__ 1
|
||||
#define __SIZEOF_LONG_LONG__ 8
|
||||
#define __cpp_user_defined_literals 200809
|
||||
#define __FLT128_DECIMAL_DIG__ 36
|
||||
#define __GCC_ATOMIC_LLONG_LOCK_FREE 2
|
||||
#define __FLT32X_MIN__ 2.22507385850720138309023271733240406e-308F32x
|
||||
#define __LDBL_DIG__ 18
|
||||
#define __FLT_DECIMAL_DIG__ 9
|
||||
#define __UINT_FAST16_MAX__ 0xffffffffffffffffUL
|
||||
#define __GCC_ATOMIC_SHORT_LOCK_FREE 2
|
||||
#define __INT_LEAST64_WIDTH__ 64
|
||||
#define __UINT_FAST8_TYPE__ unsigned char
|
||||
#define _GNU_SOURCE 1
|
||||
#define __ATOMIC_ACQ_REL 4
|
||||
#define __ATOMIC_RELEASE 3
|
@ -1,140 +0,0 @@
|
||||
/********************************************************************************
|
||||
** Form generated from reading UI file 'mainwindow.ui'
|
||||
**
|
||||
** Created by: Qt User Interface Compiler version 5.15.3
|
||||
**
|
||||
** WARNING! All changes made in this file will be lost when recompiling UI file!
|
||||
********************************************************************************/
|
||||
|
||||
#ifndef UI_MAINWINDOW_H
|
||||
#define UI_MAINWINDOW_H
|
||||
|
||||
#include <QtCore/QVariant>
|
||||
#include <QtWidgets/QApplication>
|
||||
#include <QtWidgets/QCheckBox>
|
||||
#include <QtWidgets/QHBoxLayout>
|
||||
#include <QtWidgets/QListView>
|
||||
#include <QtWidgets/QMainWindow>
|
||||
#include <QtWidgets/QPushButton>
|
||||
#include <QtWidgets/QSpacerItem>
|
||||
#include <QtWidgets/QVBoxLayout>
|
||||
#include <QtWidgets/QWidget>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
class Ui_MainWindow
|
||||
{
|
||||
public:
|
||||
QWidget *centralWidget;
|
||||
QVBoxLayout *verticalLayout_2;
|
||||
QHBoxLayout *horizontalLayout_2;
|
||||
QListView *localWineList;
|
||||
QVBoxLayout *verticalLayout;
|
||||
QSpacerItem *verticalSpacer;
|
||||
QPushButton *addButton;
|
||||
QPushButton *delButton;
|
||||
QSpacerItem *verticalSpacer_2;
|
||||
QListView *internetWineList;
|
||||
QHBoxLayout *horizontalLayout;
|
||||
QCheckBox *unzip;
|
||||
QCheckBox *deleteZip;
|
||||
QSpacerItem *horizontalSpacer;
|
||||
|
||||
void setupUi(QMainWindow *MainWindow)
|
||||
{
|
||||
if (MainWindow->objectName().isEmpty())
|
||||
MainWindow->setObjectName(QString::fromUtf8("MainWindow"));
|
||||
MainWindow->resize(693, 404);
|
||||
centralWidget = new QWidget(MainWindow);
|
||||
centralWidget->setObjectName(QString::fromUtf8("centralWidget"));
|
||||
verticalLayout_2 = new QVBoxLayout(centralWidget);
|
||||
verticalLayout_2->setSpacing(6);
|
||||
verticalLayout_2->setContentsMargins(11, 11, 11, 11);
|
||||
verticalLayout_2->setObjectName(QString::fromUtf8("verticalLayout_2"));
|
||||
horizontalLayout_2 = new QHBoxLayout();
|
||||
horizontalLayout_2->setSpacing(6);
|
||||
horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2"));
|
||||
localWineList = new QListView(centralWidget);
|
||||
localWineList->setObjectName(QString::fromUtf8("localWineList"));
|
||||
|
||||
horizontalLayout_2->addWidget(localWineList);
|
||||
|
||||
verticalLayout = new QVBoxLayout();
|
||||
verticalLayout->setSpacing(6);
|
||||
verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
|
||||
verticalSpacer = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
|
||||
|
||||
verticalLayout->addItem(verticalSpacer);
|
||||
|
||||
addButton = new QPushButton(centralWidget);
|
||||
addButton->setObjectName(QString::fromUtf8("addButton"));
|
||||
|
||||
verticalLayout->addWidget(addButton);
|
||||
|
||||
delButton = new QPushButton(centralWidget);
|
||||
delButton->setObjectName(QString::fromUtf8("delButton"));
|
||||
|
||||
verticalLayout->addWidget(delButton);
|
||||
|
||||
verticalSpacer_2 = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
|
||||
|
||||
verticalLayout->addItem(verticalSpacer_2);
|
||||
|
||||
|
||||
horizontalLayout_2->addLayout(verticalLayout);
|
||||
|
||||
internetWineList = new QListView(centralWidget);
|
||||
internetWineList->setObjectName(QString::fromUtf8("internetWineList"));
|
||||
|
||||
horizontalLayout_2->addWidget(internetWineList);
|
||||
|
||||
|
||||
verticalLayout_2->addLayout(horizontalLayout_2);
|
||||
|
||||
horizontalLayout = new QHBoxLayout();
|
||||
horizontalLayout->setSpacing(6);
|
||||
horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
|
||||
unzip = new QCheckBox(centralWidget);
|
||||
unzip->setObjectName(QString::fromUtf8("unzip"));
|
||||
|
||||
horizontalLayout->addWidget(unzip);
|
||||
|
||||
deleteZip = new QCheckBox(centralWidget);
|
||||
deleteZip->setObjectName(QString::fromUtf8("deleteZip"));
|
||||
deleteZip->setChecked(true);
|
||||
deleteZip->setTristate(false);
|
||||
|
||||
horizontalLayout->addWidget(deleteZip);
|
||||
|
||||
horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
|
||||
|
||||
horizontalLayout->addItem(horizontalSpacer);
|
||||
|
||||
|
||||
verticalLayout_2->addLayout(horizontalLayout);
|
||||
|
||||
MainWindow->setCentralWidget(centralWidget);
|
||||
|
||||
retranslateUi(MainWindow);
|
||||
|
||||
QMetaObject::connectSlotsByName(MainWindow);
|
||||
} // setupUi
|
||||
|
||||
void retranslateUi(QMainWindow *MainWindow)
|
||||
{
|
||||
MainWindow->setWindowTitle(QCoreApplication::translate("MainWindow", "\344\270\213\350\275\275 Wine", nullptr));
|
||||
addButton->setText(QCoreApplication::translate("MainWindow", "<<", nullptr));
|
||||
delButton->setText(QCoreApplication::translate("MainWindow", ">>", nullptr));
|
||||
unzip->setText(QCoreApplication::translate("MainWindow", "\344\270\215\350\247\243\345\216\213Wine\350\265\204\346\272\220\346\226\207\344\273\266", nullptr));
|
||||
deleteZip->setText(QCoreApplication::translate("MainWindow", "\345\210\240\351\231\244\344\270\213\350\275\275\347\232\204\350\265\204\346\272\220\345\214\205\357\274\214\345\217\252\350\247\243\345\216\213\344\277\235\347\225\231\357\274\210\344\270\244\344\270\252\351\200\211\351\241\271\351\203\275\351\200\211\347\233\270\344\272\222\346\212\265\346\266\210\357\274\211", nullptr));
|
||||
} // retranslateUi
|
||||
|
||||
};
|
||||
|
||||
namespace Ui {
|
||||
class MainWindow: public Ui_MainWindow {};
|
||||
} // namespace Ui
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
#endif // UI_MAINWINDOW_H
|
BIN
封面图(小白版).jpg
Normal file
BIN
封面图(小白版).jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 160 KiB |
BIN
封面图(小白版).psd
Normal file
BIN
封面图(小白版).psd
Normal file
Binary file not shown.
BIN
封面图(非小白版).jpg
Normal file
BIN
封面图(非小白版).jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 169 KiB |
BIN
封面图(非小白版).psd
Executable file
BIN
封面图(非小白版).psd
Executable file
Binary file not shown.
Loading…
Reference in New Issue
Block a user