mirror of
https://gitee.com/gfdgd-xi/deep-wine-runner
synced 2025-12-15 03:22:04 +08:00
Compare commits
37 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 269c800341 | |||
| 1390ca65aa | |||
| 194f086b58 | |||
| e12ca11b08 | |||
| 506c33085f | |||
| f7a683ebf0 | |||
| 6d6aa30557 | |||
| c0aaf54ea4 | |||
| 4a47d95cd6 | |||
| 6be5b433ca | |||
| 08e7d2997d | |||
| a991d7de04 | |||
| d0dc90b95d | |||
| 10b2d8c72b | |||
| 5d819b3c8e | |||
| c7166d9330 | |||
| 053f32e5f2 | |||
| 07db3bf724 | |||
| 949fd1a07f | |||
| 1f5cc8f6c6 | |||
| 4fc20d94aa | |||
| eb049f8560 | |||
| 0173dae3e2 | |||
| e60b7fbbd0 | |||
| bdcae751c7 | |||
| c7eb70780e | |||
| b30be9ff48 | |||
| 6ee9e2a85f | |||
| 02c882c33c | |||
| e811970e08 | |||
| 7436ae72a5 | |||
| f1498a376b | |||
| 516a854f84 | |||
| d019d0d223 | |||
| be57235f02 | |||
| fd9d08b328 | |||
| a8c5acfae2 |
78
.github/workflows/building-off-line-package.yml
vendored
Normal file
78
.github/workflows/building-off-line-package.yml
vendored
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
name: Building Wine Runner Off-line Pages(amd64)
|
||||||
|
run-name: ${{ github.actor }} Building Wine Runner Off-line Pages(amd64) 🚀
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
jobs:
|
||||||
|
Explore-GitHub-Actions:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Building DEB
|
||||||
|
env:
|
||||||
|
GUSER: ${{ secrets.GUSER }}
|
||||||
|
PASSWORD: ${{ secrets.PASSWORD }}
|
||||||
|
UPLOADURL: ${{ secrets.UPLOADURL }}
|
||||||
|
run: |
|
||||||
|
# 获取所需数据
|
||||||
|
cpu=$(cat /proc/cpuinfo | grep processor | wc -l)
|
||||||
|
# 配置环境
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install python3-requests debootstrap xz-utils -y
|
||||||
|
sudo apt install qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools psmisc -y
|
||||||
|
cd ~
|
||||||
|
mkdir package
|
||||||
|
# 部署 chroot 环境
|
||||||
|
sudo debootstrap bookworm debian
|
||||||
|
wget https://github.com/gfdgd-xi/deep-wine-runner/raw/main/pardus-chroot
|
||||||
|
sudo cp pardus-chroot /usr/bin
|
||||||
|
sudo chmod 777 /usr/bin/pardus-chroot
|
||||||
|
sudo pardus-chroot debian
|
||||||
|
### 配置容器
|
||||||
|
## 加入 wine 源
|
||||||
|
sudo chroot debian dpkg --add-architecture i386
|
||||||
|
sudo chroot debian apt update
|
||||||
|
sudo chroot debian apt install wget -y
|
||||||
|
sudo chroot debian wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
|
||||||
|
sudo chroot debian wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/debian/dists/bookworm/winehq-bookworm.sources
|
||||||
|
sudo chroot debian apt update
|
||||||
|
## 获取 Wine 运行器安装包
|
||||||
|
git clone https://github.com/gfdgd-xi/deep-wine-runner --depth=1
|
||||||
|
cd deep-wine-runner
|
||||||
|
make build
|
||||||
|
cd ..
|
||||||
|
url=`python3 deep-wine-runner/off-line-shell/GetNewestDebUrl.py`
|
||||||
|
#wget $url
|
||||||
|
mv deep-wine-runner/spark-deepin-wine-runner.deb debian/tmp/wine-runner.deb
|
||||||
|
## 安装
|
||||||
|
sudo chroot debian apt install locales /tmp/wine-runner.deb winehq-devel xfce4-terminal -y
|
||||||
|
# 构建软件包
|
||||||
|
mkdir package/opt -p
|
||||||
|
mkdir package/runner -p
|
||||||
|
sudo cp debian/opt/wine-devel package/opt -rv
|
||||||
|
sudo cp debian/usr/bin package -rv
|
||||||
|
sudo cp debian/usr/lib package -rv
|
||||||
|
sudo cp debian/usr/lib32 package -rv
|
||||||
|
sudo cp debian/usr/lib64 package -rv
|
||||||
|
sudo cp debian/opt/apps/deepin-wine-runner/* package/runner -rv
|
||||||
|
cp deep-wine-runner/off-line-shell/run.sh package -rv
|
||||||
|
cp deep-wine-runner/off-line-shell/bwrap_amd64 package/bwrap -rv
|
||||||
|
sudo chmod 777 -Rv package ; true
|
||||||
|
cd package
|
||||||
|
# 添加 Wine 运行器离线模式标识
|
||||||
|
touch runner/off-line.lock
|
||||||
|
tar -cvf ../spark-deepin-wine-runner-off-line.tar *
|
||||||
|
cd ..
|
||||||
|
xz -T $cpu spark-deepin-wine-runner-off-line.tar
|
||||||
|
cp deep-wine-runner/off-line-shell/compression-packager.sh spark-deepin-wine-runner-off-line.sh
|
||||||
|
cat spark-deepin-wine-runner-off-line.tar.xz >> spark-deepin-wine-runner-off-line.sh
|
||||||
|
- name: upload result
|
||||||
|
uses: actions/upload-artifact@v1
|
||||||
|
with:
|
||||||
|
name: spark-deepin-wine-runner-off-line.tar.xz
|
||||||
|
path: /home/runner/spark-deepin-wine-runner-off-line.tar.xz
|
||||||
|
- name: upload result
|
||||||
|
uses: actions/upload-artifact@v1
|
||||||
|
with:
|
||||||
|
name: spark-deepin-wine-runner-off-line.sh
|
||||||
|
path: /home/runner/spark-deepin-wine-runner-off-line.sh
|
||||||
|
|
||||||
|
|
||||||
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
*.user*
|
||||||
@@ -81,6 +81,11 @@ if os.system("which deepin-wine6-stable > /dev/null"):
|
|||||||
choose = input().upper()
|
choose = input().upper()
|
||||||
if not choose == "N":
|
if not choose == "N":
|
||||||
os.system("sudo apt install deepin-wine6-stable -y")
|
os.system("sudo apt install deepin-wine6-stable -y")
|
||||||
|
if os.system("which deepin-wine8-stable > /dev/null"):
|
||||||
|
print("请问是否要安装 deepin-wine8-stable?[Y/N]", end=' ')
|
||||||
|
choose = input().upper()
|
||||||
|
if not choose == "N":
|
||||||
|
os.system("sudo apt install deepin-wine6-stable -y")
|
||||||
if os.system("which spark-wine7-devel > /dev/null"):
|
if os.system("which spark-wine7-devel > /dev/null"):
|
||||||
print("请问是否要安装 spark-wine7-devel(需要安装最新版星火应用商店)?[Y/N]", end=' ')
|
print("请问是否要安装 spark-wine7-devel(需要安装最新版星火应用商店)?[Y/N]", end=' ')
|
||||||
choose = input().upper()
|
choose = input().upper()
|
||||||
|
|||||||
@@ -1,8 +1,18 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# 读取设置单独用一个 py 文件
|
# 读取设置单独用一个 py 文件
|
||||||
import os
|
import os
|
||||||
|
import sys
|
||||||
import json
|
import json
|
||||||
|
import base64
|
||||||
|
import shutil
|
||||||
|
import getpass
|
||||||
|
import datetime
|
||||||
|
import traceback
|
||||||
|
import subprocess
|
||||||
|
import configparser
|
||||||
import PyQt5.QtGui as QtGui
|
import PyQt5.QtGui as QtGui
|
||||||
|
import PyQt5.QtCore as QtCore
|
||||||
|
import PyQt5.QtWidgets as QtWidgets
|
||||||
|
|
||||||
# 获取用户主目录
|
# 获取用户主目录
|
||||||
def get_home():
|
def get_home():
|
||||||
@@ -18,7 +28,7 @@ def readtxt(path):
|
|||||||
defultProgramList = {
|
defultProgramList = {
|
||||||
"Architecture": "Auto",
|
"Architecture": "Auto",
|
||||||
"Debug": True,
|
"Debug": True,
|
||||||
"DefultWine": "deepin-wine6 stable",
|
"DefultWine": "deepin-wine8-stable",
|
||||||
"DefultBotton" : get_home() + "/.wine",
|
"DefultBotton" : get_home() + "/.wine",
|
||||||
"TerminalOpen": False,
|
"TerminalOpen": False,
|
||||||
"WineOption": "",
|
"WineOption": "",
|
||||||
@@ -36,6 +46,15 @@ defultProgramList = {
|
|||||||
"FontSize": 1
|
"FontSize": 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
|
||||||
|
iconPath = "{}/deepin-wine-runner.svg".format(programPath)
|
||||||
|
try:
|
||||||
|
information = json.loads(readtxt(f"{programPath}/information.json"))
|
||||||
|
setting = json.loads(readtxt(get_home() + "/.config/deepin-wine-runner/WineSetting.json"))
|
||||||
|
except:
|
||||||
|
traceback.print_exc()
|
||||||
|
setting = defultProgramList
|
||||||
|
|
||||||
def SetFont(app):
|
def SetFont(app):
|
||||||
defaultFont = app.font()
|
defaultFont = app.font()
|
||||||
size = setting["FontSize"]
|
size = setting["FontSize"]
|
||||||
@@ -47,7 +66,286 @@ def SetFont(app):
|
|||||||
font.setPointSize(int(defaultFont.pointSize() / size))
|
font.setPointSize(int(defaultFont.pointSize() / size))
|
||||||
app.setFont(font)
|
app.setFont(font)
|
||||||
|
|
||||||
try:
|
def getFileFolderSize(fileOrFolderPath):
|
||||||
setting = json.loads(readtxt(get_home() + "/.config/deepin-wine-runner/WineSetting.json"))
|
"""get size for file or folder"""
|
||||||
except:
|
totalSize = 0
|
||||||
setting = defultProgramList
|
try:
|
||||||
|
if not os.path.exists(fileOrFolderPath):
|
||||||
|
return totalSize
|
||||||
|
if os.path.isfile(fileOrFolderPath):
|
||||||
|
totalSize = os.path.getsize(fileOrFolderPath) # 5041481
|
||||||
|
return totalSize
|
||||||
|
if os.path.islink(fileOrFolderPath):
|
||||||
|
return 0
|
||||||
|
if os.path.isdir(fileOrFolderPath):
|
||||||
|
with os.scandir(fileOrFolderPath) as dirEntryList:
|
||||||
|
for curSubEntry in dirEntryList:
|
||||||
|
curSubEntryFullPath = os.path.join(fileOrFolderPath, curSubEntry.name)
|
||||||
|
if curSubEntry.is_dir():
|
||||||
|
curSubFolderSize = getFileFolderSize(curSubEntryFullPath) # 5800007
|
||||||
|
totalSize += curSubFolderSize
|
||||||
|
elif curSubEntry.is_file():
|
||||||
|
curSubFileSize = os.path.getsize(curSubEntryFullPath) # 1891
|
||||||
|
totalSize += curSubFileSize
|
||||||
|
return totalSize
|
||||||
|
except:
|
||||||
|
return totalSize
|
||||||
|
|
||||||
|
def FileToBase64(filePath):
|
||||||
|
src = ""
|
||||||
|
with open(filePath, "rb") as f:
|
||||||
|
base64Byte = base64.b64encode(f.read())
|
||||||
|
src += base64Byte.decode("utf-8")
|
||||||
|
return src
|
||||||
|
|
||||||
|
def SaveLogWindow():
|
||||||
|
pass
|
||||||
|
|
||||||
|
class SaveLogReport():
|
||||||
|
userName = getpass.getuser()
|
||||||
|
time = datetime.datetime.now().strftime("%Y/%m/%d %H:%M:%S")
|
||||||
|
kernelVersion = subprocess.getoutput("uname -a")
|
||||||
|
wineRunnerVersion = information["Version"]
|
||||||
|
architecture = subprocess.getoutput("arch")
|
||||||
|
cpuInfo = subprocess.getoutput("lscpu")
|
||||||
|
lsmod = subprocess.getoutput("lsmod")
|
||||||
|
lshw = subprocess.getoutput("lshw")
|
||||||
|
cpu = subprocess.getoutput("cat /proc/cpuinfo | grep 'model name' | head -n 1 | awk -F: '{print $2}'")
|
||||||
|
gpu = subprocess.getoutput("lspci | grep -i 'VGA\|3D\|2D'")
|
||||||
|
|
||||||
|
def __init__(self, chooseWineName, chooseWineCommand, runCommand, binPath, logOut, description="无", imgPath=[]) -> None:
|
||||||
|
self.chooseWineName = chooseWineName
|
||||||
|
self.chooseWineCommand = chooseWineCommand
|
||||||
|
self.runCommand = runCommand
|
||||||
|
self.binPath = binPath
|
||||||
|
self.logOut = logOut
|
||||||
|
self.description = description
|
||||||
|
self.imgPath = imgPath
|
||||||
|
# 读取可执行文件信息
|
||||||
|
if os.path.exists(binPath):
|
||||||
|
try:
|
||||||
|
self.binSize = f"{str(int(getFileFolderSize(binPath) / 1024 / 1024))}MB"
|
||||||
|
except:
|
||||||
|
self.binSize = "Error"
|
||||||
|
traceback.print_exc()
|
||||||
|
os.system(f"'{programPath}/wrestool' '{binPath}' -x -t 14 > '/tmp/wine-runner-log-icon.png'")
|
||||||
|
# 如果提取成功
|
||||||
|
if os.path.exists("/tmp/wine-runner-log-icon.png"):
|
||||||
|
# 转换成 base64 编码
|
||||||
|
self.binIcon = "data:image/jpg;base64," + FileToBase64("/tmp/wine-runner-log-icon.png")
|
||||||
|
self.binIconPath = "/tmp/wine-runner-log-icon.png"
|
||||||
|
else:
|
||||||
|
self.binIcon = "Not Found"
|
||||||
|
self.binIconPath = "Not Found"
|
||||||
|
else:
|
||||||
|
self.binSize = "Not Found"
|
||||||
|
self.binIcon = "Not Found"
|
||||||
|
self.binIconPath = "Not Found"
|
||||||
|
try:
|
||||||
|
self.memoryInfo = readtxt("/proc/meminfo")
|
||||||
|
except:
|
||||||
|
traceback.print_exc()
|
||||||
|
self.memoryInfo = traceback.format_exc()
|
||||||
|
# 读取系统信息
|
||||||
|
try:
|
||||||
|
with open("/etc/os-release", "r") as file:
|
||||||
|
text = "[Default]\n" + file.read()
|
||||||
|
conf = configparser.ConfigParser()
|
||||||
|
conf.read_string(text)
|
||||||
|
self.systemVersion = conf.get("Default", "PRETTY_NAME")
|
||||||
|
except:
|
||||||
|
traceback.print_exc()
|
||||||
|
self.systemVersion = subprocess.getoutput("lsb_release -a")
|
||||||
|
|
||||||
|
def SetWindow(self):
|
||||||
|
def AddImageToListClicked():
|
||||||
|
choose = QtWidgets.QFileDialog.getOpenFileNames(messagebox, "选择图像", get_home(), "图片文件(*.png *.jpg *.bmp *.gif *.svg);;所有文件(*.*)")
|
||||||
|
print(choose)
|
||||||
|
for i in choose[0]:
|
||||||
|
if i in imageList:
|
||||||
|
continue
|
||||||
|
imageList.append(i)
|
||||||
|
nmodel = QtGui.QStandardItemModel(messagebox)
|
||||||
|
for i in imageList:
|
||||||
|
item = QtGui.QStandardItem(i)
|
||||||
|
nmodel.appendRow(item)
|
||||||
|
imageListView.setModel(nmodel)
|
||||||
|
|
||||||
|
def DeleteImageToListClicked():
|
||||||
|
index = imageListView.currentIndex().row()
|
||||||
|
if index < 0:
|
||||||
|
QtWidgets.QMessageBox.information(messagebox, "提示", "您未选择任何项")
|
||||||
|
return
|
||||||
|
del imageList[index]
|
||||||
|
nmodel = QtGui.QStandardItemModel(messagebox)
|
||||||
|
for i in imageList:
|
||||||
|
item = QtGui.QStandardItem(i)
|
||||||
|
nmodel.appendRow(item)
|
||||||
|
imageListView.setModel(nmodel)
|
||||||
|
# 选择第一项
|
||||||
|
imageListView.setCurrentIndex(nmodel.index(0, 0))
|
||||||
|
|
||||||
|
def OkClicked():
|
||||||
|
self.description = description.toPlainText()
|
||||||
|
self.imgPath = imageList
|
||||||
|
path = QtWidgets.QFileDialog.getSaveFileName(messagebox, "保存日志报告", get_home(), "7z 文件(*.7z);;所有文件(*.*)")
|
||||||
|
print(path)
|
||||||
|
if path[0] != "":
|
||||||
|
try:
|
||||||
|
self.To7z(path[0])
|
||||||
|
except:
|
||||||
|
traceback.print_exc()
|
||||||
|
QtWidgets.QMessageBox.critical(messagebox, "错误", traceback.format_exc())
|
||||||
|
return
|
||||||
|
messagebox.close()
|
||||||
|
QtWidgets.QMessageBox.information(messagebox, "提示", "生成完成!\n建议将报告与可执行文件一并提交以便排除错误")
|
||||||
|
|
||||||
|
def CancelClicked():
|
||||||
|
messagebox.close()
|
||||||
|
|
||||||
|
# 权重
|
||||||
|
size = QtWidgets.QSizePolicy()
|
||||||
|
size.setHorizontalPolicy(0)
|
||||||
|
imageList = []
|
||||||
|
messagebox = QtWidgets.QDialog()
|
||||||
|
layout = QtWidgets.QGridLayout()
|
||||||
|
description = QtWidgets.QTextEdit()
|
||||||
|
imageListView = QtWidgets.QListView()
|
||||||
|
addImageToList = QtWidgets.QPushButton("+")
|
||||||
|
deleteImageToList = QtWidgets.QPushButton("-")
|
||||||
|
controlLayout = QtWidgets.QHBoxLayout()
|
||||||
|
ok = QtWidgets.QPushButton("保存")
|
||||||
|
cancel = QtWidgets.QPushButton("取消")
|
||||||
|
description.setPlaceholderText("可以填写故障的现象、复现步骤以及其他有关的信息,同时也可以填写联系方式")
|
||||||
|
addImageToList.clicked.connect(AddImageToListClicked)
|
||||||
|
deleteImageToList.clicked.connect(DeleteImageToListClicked)
|
||||||
|
ok.clicked.connect(OkClicked)
|
||||||
|
cancel.clicked.connect(CancelClicked)
|
||||||
|
addImageToList.setSizePolicy(size)
|
||||||
|
deleteImageToList.setSizePolicy(size)
|
||||||
|
ok.setSizePolicy(size)
|
||||||
|
cancel.setSizePolicy(size)
|
||||||
|
layout.addWidget(QtWidgets.QLabel("<h2>描述(建议填写)</h2>"), 0, 0)
|
||||||
|
layout.addWidget(description, 1, 0, 1, 3)
|
||||||
|
layout.addWidget(QtWidgets.QLabel("<hr>"), 2, 0, 1, 4)
|
||||||
|
layout.addWidget(QtWidgets.QLabel("<h2>截图(建议选择)</h2>"), 3, 0)
|
||||||
|
layout.addWidget(imageListView, 4, 0, 4, 3)
|
||||||
|
layout.addWidget(addImageToList, 5, 3)
|
||||||
|
layout.addWidget(deleteImageToList, 6, 3)
|
||||||
|
layout.addLayout(controlLayout, 8, 2, 1, 2)
|
||||||
|
controlLayout.addWidget(cancel)
|
||||||
|
controlLayout.addWidget(ok)
|
||||||
|
messagebox.setLayout(layout)
|
||||||
|
messagebox.exec_()
|
||||||
|
|
||||||
|
def To7z(self, savePath):
|
||||||
|
os.system("rm -rfv /tmp/wine-runner-log")
|
||||||
|
os.system("mkdir -v /tmp/wine-runner-log")
|
||||||
|
self.ToHtml("/tmp/wine-runner-log/index.html", toZip=True)
|
||||||
|
if os.path.exists(self.binIconPath):
|
||||||
|
shutil.copy(self.binIconPath, f"/tmp/wine-runner-log/{os.path.basename(self.binIconPath)}")
|
||||||
|
lists = ["wine-runner-log-icon.png", "index.html"]
|
||||||
|
for i in self.imgPath:
|
||||||
|
name = os.path.basename(i)
|
||||||
|
if os.path.basename(i) in lists:
|
||||||
|
while name in lists:
|
||||||
|
name = os.path.splitext(name)[0] + "-copy" + os.path.splitext(name)[1]
|
||||||
|
lists.append(name)
|
||||||
|
else:
|
||||||
|
lists.append(name)
|
||||||
|
shutil.copy(i, f"/tmp/wine-runner-log/{name}")
|
||||||
|
os.system(f"7z a '{savePath}' /tmp/wine-runner-log")
|
||||||
|
|
||||||
|
|
||||||
|
def ToHtml(self, savePath, toZip=False):
|
||||||
|
print(self.userName, self.time)
|
||||||
|
# 对文本进行处理
|
||||||
|
description = ""
|
||||||
|
logOut = ""
|
||||||
|
cpuInfo = ""
|
||||||
|
memoryInfo = ""
|
||||||
|
imgPath = ""
|
||||||
|
lsmod = ""
|
||||||
|
lshw = ""
|
||||||
|
charReplaceMap = {
|
||||||
|
"<": "<",
|
||||||
|
">": ">",
|
||||||
|
"&": "&",
|
||||||
|
'"': """
|
||||||
|
}
|
||||||
|
for i in self.description.splitlines():
|
||||||
|
for k in charReplaceMap:
|
||||||
|
i = i.replace(k, charReplaceMap[k])
|
||||||
|
description += f'<span class="line code">{i}</span>\n'
|
||||||
|
for i in self.logOut.splitlines():
|
||||||
|
for k in charReplaceMap:
|
||||||
|
i = i.replace(k, charReplaceMap[k])
|
||||||
|
logOut += f'<span class="line code">{i}</span>\n'
|
||||||
|
for i in self.cpuInfo.splitlines():
|
||||||
|
for k in charReplaceMap:
|
||||||
|
i = i.replace(k, charReplaceMap[k])
|
||||||
|
cpuInfo += f'<span class="line code">{i}</span>\n'
|
||||||
|
for i in self.memoryInfo.splitlines():
|
||||||
|
for k in charReplaceMap:
|
||||||
|
i = i.replace(k, charReplaceMap[k])
|
||||||
|
memoryInfo += f'<span class="line code">{i}</span>\n'
|
||||||
|
for i in self.lsmod.splitlines():
|
||||||
|
for k in charReplaceMap:
|
||||||
|
i = i.replace(k, charReplaceMap[k])
|
||||||
|
lsmod += f'<span class="line code">{i}</span>\n'
|
||||||
|
for i in self.lshw.splitlines():
|
||||||
|
for k in charReplaceMap:
|
||||||
|
i = i.replace(k, charReplaceMap[k])
|
||||||
|
lshw += f'<span class="line code">{i}</span>\n'
|
||||||
|
text = readtxt(f"{programPath}/Resources/LogTemplate/template.html")
|
||||||
|
if toZip:
|
||||||
|
binIcon = os.path.basename(self.binIconPath)
|
||||||
|
# 重名排除
|
||||||
|
lists = ["wine-runner-log-icon.png", "index.html"]
|
||||||
|
for i in self.imgPath:
|
||||||
|
name = os.path.basename(i)
|
||||||
|
if os.path.basename(i) in lists:
|
||||||
|
while name in lists:
|
||||||
|
name = os.path.splitext(name)[0] + "-copy" + os.path.splitext(name)[1]
|
||||||
|
lists.append(name)
|
||||||
|
else:
|
||||||
|
lists.append(name)
|
||||||
|
imgPath += f'<p align="center"><img src="{name}" class="imgShow"></p>\n'
|
||||||
|
else:
|
||||||
|
binIcon = self.binIcon
|
||||||
|
for i in self.imgPath:
|
||||||
|
try:
|
||||||
|
path = "data:image/jpg;base64," + FileToBase64(i)
|
||||||
|
except:
|
||||||
|
traceback.print_exc()
|
||||||
|
path = "Error"
|
||||||
|
imgPath += f' <p align="center"><img src="{path}" class="imgShow"></p>\n'
|
||||||
|
|
||||||
|
replaceMap = {
|
||||||
|
"%UserName%": self.userName,
|
||||||
|
"%Time%": self.time,
|
||||||
|
"%KernelVersion": self.kernelVersion,
|
||||||
|
"%ChooseWineName%": self.chooseWineName,
|
||||||
|
"%ChooseWineCommand%": self.chooseWineCommand,
|
||||||
|
"%RunCommand%": self.runCommand,
|
||||||
|
"%BinPath%": self.binPath,
|
||||||
|
"%WineRunnerVersion%": self.wineRunnerVersion,
|
||||||
|
"%BinSize%": self.binSize,
|
||||||
|
"%BinIcon%": binIcon,
|
||||||
|
"%CPUInfo%": cpuInfo,
|
||||||
|
"%Architecture%": self.architecture,
|
||||||
|
"%MemoryInfo%": memoryInfo,
|
||||||
|
"%LogOut%": logOut,
|
||||||
|
"%Description%": description,
|
||||||
|
"%ImgPath%": imgPath,
|
||||||
|
"%Lsmod%": lsmod,
|
||||||
|
"%Lshw%": lshw,
|
||||||
|
"%CPU%": self.cpu,
|
||||||
|
"%GPU%": self.gpu,
|
||||||
|
"%SystemVersion%": self.systemVersion
|
||||||
|
}
|
||||||
|
for i in replaceMap.keys():
|
||||||
|
text = text.replace(i, replaceMap[i])
|
||||||
|
with open(savePath, "w") as file:
|
||||||
|
file.write(text)
|
||||||
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
BIN
Icon/Program/AboutIcon1.png
Executable file
BIN
Icon/Program/AboutIcon1.png
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 126 KiB |
@@ -69,7 +69,8 @@ m m "
|
|||||||
for i in [
|
for i in [
|
||||||
["原版 Wine(Wine64)", "wine"],
|
["原版 Wine(Wine64)", "wine"],
|
||||||
["deepin-wine5-stable", "deepin-wine5-stable"],
|
["deepin-wine5-stable", "deepin-wine5-stable"],
|
||||||
["deepin-wine6-stable", "deepin-wine6-stable"]
|
["deepin-wine6-stable", "deepin-wine6-stable"],
|
||||||
|
["deepin-wine8-stable", "deepin-wine8-stable"]
|
||||||
]:
|
]:
|
||||||
if not os.system(f"which {i[1]} > /dev/null"):
|
if not os.system(f"which {i[1]} > /dev/null"):
|
||||||
continue
|
continue
|
||||||
|
|||||||
5
LANG/Makefile
Normal file
5
LANG/Makefile
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
build:
|
||||||
|
lrelease deepin-wine-packager-en_US.ts -qm deepin-wine-packager-en_US.qm
|
||||||
|
lrelease deepin-wine-runner-en_US.ts -qm deepin-wine-runner-en_US.qm
|
||||||
|
lrelease installwine-en_US.ts -qm installwine-en_US.qm
|
||||||
|
lrelease virtualmachine-en_US.ts -qm virtualmachine-en_US.qm
|
||||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
2
Makefile
2
Makefile
@@ -3,6 +3,7 @@ build:
|
|||||||
|
|
||||||
clean:
|
clean:
|
||||||
python3 RemovePycacheFile.py
|
python3 RemovePycacheFile.py
|
||||||
|
rm *.deb -fv
|
||||||
cd VM-source ; make clean
|
cd VM-source ; make clean
|
||||||
rm VM-source/VirtualMachine -rfv
|
rm VM-source/VirtualMachine -rfv
|
||||||
rm -rfv VM-source/.qmake.stash
|
rm -rfv VM-source/.qmake.stash
|
||||||
@@ -62,6 +63,7 @@ package:
|
|||||||
cp -rv RegShot deb/opt/apps/deepin-wine-runner
|
cp -rv RegShot deb/opt/apps/deepin-wine-runner
|
||||||
cp -rv BeCyIconGrabber.exe deb/opt/apps/deepin-wine-runner
|
cp -rv BeCyIconGrabber.exe deb/opt/apps/deepin-wine-runner
|
||||||
cp -rv AutoShell deb/opt/apps/deepin-wine-runner
|
cp -rv AutoShell deb/opt/apps/deepin-wine-runner
|
||||||
|
cp -rv Resources deb/opt/apps/deepin-wine-runner
|
||||||
cp -rv deepin-wine-packager-with-script.py deb/opt/apps/deepin-wine-runner
|
cp -rv deepin-wine-packager-with-script.py deb/opt/apps/deepin-wine-runner
|
||||||
cp -rv deepin-wine-packager.py deb/opt/apps/deepin-wine-runner
|
cp -rv deepin-wine-packager.py deb/opt/apps/deepin-wine-runner
|
||||||
cp -rv deepin-wine-runner-update-bug deb/opt/apps/deepin-wine-runner
|
cp -rv deepin-wine-runner-update-bug deb/opt/apps/deepin-wine-runner
|
||||||
|
|||||||
25
README.md
25
README.md
@@ -1,5 +1,5 @@
|
|||||||
<p width=100px align="center"><img src="https://storage.deepin.org/thread/202208031419283599_deepin-wine-runner.png"></p>
|
<p width=100px align="center"><img src="https://storage.deepin.org/thread/202208031419283599_deepin-wine-runner.png"></p>
|
||||||
<h1 align="center">Wine 运行器 3.5.0</h1>
|
<h1 align="center">Wine 运行器 3.6.1</h1>
|
||||||
<hr>
|
<hr>
|
||||||
<a href='https://gitee.com/gfdgd-xi/deep-wine-runner/stargazers'><img src='https://gitee.com/gfdgd-xi/deep-wine-runner/badge/star.svg?theme=dark' alt='star'></img></a>
|
<a href='https://gitee.com/gfdgd-xi/deep-wine-runner/stargazers'><img src='https://gitee.com/gfdgd-xi/deep-wine-runner/badge/star.svg?theme=dark' alt='star'></img></a>
|
||||||
<a href='https://gitee.com/gfdgd-xi/deep-wine-runner/members'><img src='https://gitee.com/gfdgd-xi/deep-wine-runner/badge/fork.svg?theme=dark' alt='fork'></img></a>
|
<a href='https://gitee.com/gfdgd-xi/deep-wine-runner/members'><img src='https://gitee.com/gfdgd-xi/deep-wine-runner/badge/fork.svg?theme=dark' alt='fork'></img></a>
|
||||||
@@ -18,13 +18,15 @@ Wine运行器是一个能让Linux用户更加方便地运行Windows应用的程
|
|||||||
|
|
||||||
打包器视频教程:https://www.bilibili.com/video/BV1Bh4y1Q7nT/
|
打包器视频教程:https://www.bilibili.com/video/BV1Bh4y1Q7nT/
|
||||||
Wine 运行器 QQ 交流群:762985460
|
Wine 运行器 QQ 交流群:762985460
|
||||||
|
Wine运行器 QQ 频道:https://pd.qq.com/s/edqkgeydx
|
||||||
|
Wine 运行器离线包下载地址:https://www.123pan.com/s/pDSKVv-pAJWv.html
|
||||||
|
|
||||||
### 注
|
### 注
|
||||||
spark-deepin-wine-runner 是普通包,spark-deepin-wine-runner-ace 是使用 ace 兼容环境运行的运行器
|
spark-deepin-wine-runner 是普通包,spark-deepin-wine-runner-ace 是使用 ace 兼容环境运行的运行器
|
||||||
|
|
||||||
## 软件架构
|
## 软件架构
|
||||||
理论上支持全架构,如果 Python 能运行的话
|
理论上支持全架构,如果 Python 能运行的话
|
||||||
非 X86 架构会利用到 `box86`、`exagear`、`qemu` 等技术
|
非 X86 架构会利用到 `box86`/`box64`、`exagear`、`qemu` 等技术
|
||||||
|
|
||||||
## Wine 运行器自动构建(Newest)
|
## Wine 运行器自动构建(Newest)
|
||||||
此只供尝鲜,不保证能用:https://github.com/gfdgd-xi/deep-wine-runner/actions/workflows/auto-building.yml
|
此只供尝鲜,不保证能用:https://github.com/gfdgd-xi/deep-wine-runner/actions/workflows/auto-building.yml
|
||||||
@@ -118,6 +120,25 @@ desktop文件中StartupWMClass字段。用于让桌面组件将窗口类名与de
|
|||||||

|

|
||||||
|
|
||||||
## 更新日志
|
## 更新日志
|
||||||
|
### 3.6.1(2023年12月25日)
|
||||||
|
**※1、修复应用无法打开的问题**
|
||||||
|
|
||||||
|
### 3.6.0(2023年12月24日)
|
||||||
|
**※1、修复高级打包器选择软件适配脚本后无法打包的问题 https://gitee.com/gfdgd-xi/deep-wine-runner/issues/I8I110**
|
||||||
|
**※2、支持调用 Deepin Wine8 Stable**
|
||||||
|
**※3、移除过时的 Wine 安装程序入口**
|
||||||
|
**※4、Wine 安装器支持根据地区自动选择国内源以及国际源**
|
||||||
|
**※5、Wine 安装器新增 Sourceforge 源**
|
||||||
|
**※6、新增 Wine 运行报告生成功能**
|
||||||
|
**※7、初步英语翻译**
|
||||||
|
**※8、新增离线安装包(只支持 amd64)**
|
||||||
|
**※9、支持识别 /opt 文件夹下的 Wine**
|
||||||
|
10、新增 Wine 运行器视频教程的 Youtube 入口
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### 3.5.0(2023年11月17日)
|
### 3.5.0(2023年11月17日)
|
||||||
**※1、虚拟机工具支持 kvm 检测**
|
**※1、虚拟机工具支持 kvm 检测**
|
||||||
**※2、修改虚拟机工具提示文本,新增对 UOS 3a4000 用户无法正常使用 Qemu 的解决方案**
|
**※2、修改虚拟机工具提示文本,新增对 UOS 3a4000 用户无法正常使用 Qemu 的解决方案**
|
||||||
|
|||||||
169
Resources/LogTemplate/icon.svg
Normal file
169
Resources/LogTemplate/icon.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 14 KiB |
155
Resources/LogTemplate/template.html
Normal file
155
Resources/LogTemplate/template.html
Normal file
File diff suppressed because one or more lines are too long
1
VM-source/.gitignore
vendored
Normal file
1
VM-source/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
*.user*
|
||||||
@@ -59,7 +59,8 @@ SOURCES = main.cpp \
|
|||||||
command.cpp \
|
command.cpp \
|
||||||
infoutils.cpp \
|
infoutils.cpp \
|
||||||
qemu.cpp \
|
qemu.cpp \
|
||||||
qemusetting.cpp qrc_图标.cpp \
|
qemusetting.cpp qrc_trans.cpp \
|
||||||
|
qrc_图标.cpp \
|
||||||
moc_mainwindow.cpp \
|
moc_mainwindow.cpp \
|
||||||
moc_infoutils.cpp \
|
moc_infoutils.cpp \
|
||||||
moc_qemusetting.cpp
|
moc_qemusetting.cpp
|
||||||
@@ -71,11 +72,14 @@ OBJECTS = main.o \
|
|||||||
infoutils.o \
|
infoutils.o \
|
||||||
qemu.o \
|
qemu.o \
|
||||||
qemusetting.o \
|
qemusetting.o \
|
||||||
|
qrc_trans.o \
|
||||||
qrc_图标.o \
|
qrc_图标.o \
|
||||||
moc_mainwindow.o \
|
moc_mainwindow.o \
|
||||||
moc_infoutils.o \
|
moc_infoutils.o \
|
||||||
moc_qemusetting.o
|
moc_qemusetting.o
|
||||||
DIST = /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \
|
DIST = en_US.qm \
|
||||||
|
en_US.ts \
|
||||||
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/unix.conf \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/unix.conf \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/linux.conf \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/linux.conf \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/sanitize.conf \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/sanitize.conf \
|
||||||
@@ -363,6 +367,7 @@ Makefile: VirtualMachine.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qma
|
|||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/yacc.prf \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/yacc.prf \
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/lex.prf \
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/lex.prf \
|
||||||
VirtualMachine.pro \
|
VirtualMachine.pro \
|
||||||
|
trans.qrc \
|
||||||
图标.qrc
|
图标.qrc
|
||||||
$(QMAKE) -o Makefile VirtualMachine.pro
|
$(QMAKE) -o Makefile VirtualMachine.pro
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf:
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/spec_pre.prf:
|
||||||
@@ -497,6 +502,7 @@ Makefile: VirtualMachine.pro /usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++/qma
|
|||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/yacc.prf:
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/yacc.prf:
|
||||||
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/lex.prf:
|
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/lex.prf:
|
||||||
VirtualMachine.pro:
|
VirtualMachine.pro:
|
||||||
|
trans.qrc:
|
||||||
图标.qrc:
|
图标.qrc:
|
||||||
qmake: FORCE
|
qmake: FORCE
|
||||||
@$(QMAKE) -o Makefile VirtualMachine.pro
|
@$(QMAKE) -o Makefile VirtualMachine.pro
|
||||||
@@ -512,7 +518,7 @@ dist: distdir FORCE
|
|||||||
distdir: FORCE
|
distdir: FORCE
|
||||||
@test -d $(DISTDIR) || mkdir -p $(DISTDIR)
|
@test -d $(DISTDIR) || mkdir -p $(DISTDIR)
|
||||||
$(COPY_FILE) --parents $(DIST) $(DISTDIR)/
|
$(COPY_FILE) --parents $(DIST) $(DISTDIR)/
|
||||||
$(COPY_FILE) --parents 图标.qrc $(DISTDIR)/
|
$(COPY_FILE) --parents trans.qrc 图标.qrc $(DISTDIR)/
|
||||||
$(COPY_FILE) --parents /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/data/dummy.cpp $(DISTDIR)/
|
$(COPY_FILE) --parents /usr/lib/x86_64-linux-gnu/qt5/mkspecs/features/data/dummy.cpp $(DISTDIR)/
|
||||||
$(COPY_FILE) --parents mainwindow.h buildvbox.h vbox.h command.h infoutils.h qemu.h qemusetting.h $(DISTDIR)/
|
$(COPY_FILE) --parents mainwindow.h buildvbox.h vbox.h command.h infoutils.h qemu.h qemusetting.h $(DISTDIR)/
|
||||||
$(COPY_FILE) --parents main.cpp mainwindow.cpp buildvbox.cpp vbox.cpp command.cpp infoutils.cpp qemu.cpp qemusetting.cpp $(DISTDIR)/
|
$(COPY_FILE) --parents main.cpp mainwindow.cpp buildvbox.cpp vbox.cpp command.cpp infoutils.cpp qemu.cpp qemusetting.cpp $(DISTDIR)/
|
||||||
@@ -541,9 +547,17 @@ check: first
|
|||||||
|
|
||||||
benchmark: first
|
benchmark: first
|
||||||
|
|
||||||
compiler_rcc_make_all: qrc_图标.cpp
|
compiler_rcc_make_all: qrc_trans.cpp qrc_图标.cpp
|
||||||
compiler_rcc_clean:
|
compiler_rcc_clean:
|
||||||
-$(DEL_FILE) qrc_图标.cpp
|
-$(DEL_FILE) qrc_trans.cpp qrc_图标.cpp
|
||||||
|
qrc_trans.cpp: trans.qrc \
|
||||||
|
/usr/lib/qt5/bin/rcc \
|
||||||
|
en_US.ts \
|
||||||
|
en_US.qm \
|
||||||
|
zh_CN.ts \
|
||||||
|
zh_CN.qm
|
||||||
|
/usr/lib/qt5/bin/rcc -name trans trans.qrc -o qrc_trans.cpp
|
||||||
|
|
||||||
qrc_图标.cpp: 图标.qrc \
|
qrc_图标.cpp: 图标.qrc \
|
||||||
/usr/lib/qt5/bin/rcc \
|
/usr/lib/qt5/bin/rcc \
|
||||||
deepin-wine-runner.png \
|
deepin-wine-runner.png \
|
||||||
@@ -623,7 +637,9 @@ mainwindow.o: mainwindow.cpp mainwindow.h \
|
|||||||
ui_mainwindow.h \
|
ui_mainwindow.h \
|
||||||
buildvbox.h \
|
buildvbox.h \
|
||||||
infoutils.h \
|
infoutils.h \
|
||||||
qemusetting.h
|
qemusetting.h \
|
||||||
|
vbox.h \
|
||||||
|
qemu.h
|
||||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o mainwindow.o mainwindow.cpp
|
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o mainwindow.o mainwindow.cpp
|
||||||
|
|
||||||
buildvbox.o: buildvbox.cpp buildvbox.h \
|
buildvbox.o: buildvbox.cpp buildvbox.h \
|
||||||
@@ -651,6 +667,9 @@ qemusetting.o: qemusetting.cpp qemusetting.h \
|
|||||||
infoutils.h
|
infoutils.h
|
||||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o qemusetting.o qemusetting.cpp
|
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o qemusetting.o qemusetting.cpp
|
||||||
|
|
||||||
|
qrc_trans.o: qrc_trans.cpp
|
||||||
|
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o qrc_trans.o qrc_trans.cpp
|
||||||
|
|
||||||
qrc_图标.o: qrc_图标.cpp
|
qrc_图标.o: qrc_图标.cpp
|
||||||
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o qrc_图标.o qrc_图标.cpp
|
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o qrc_图标.o qrc_图标.cpp
|
||||||
|
|
||||||
|
|||||||
@@ -56,4 +56,9 @@ else: unix:!android: target.path = /opt/$${TARGET}/bin
|
|||||||
!isEmpty(target.path): INSTALLS += target
|
!isEmpty(target.path): INSTALLS += target
|
||||||
|
|
||||||
RESOURCES += \
|
RESOURCES += \
|
||||||
|
trans.qrc \
|
||||||
图标.qrc
|
图标.qrc
|
||||||
|
|
||||||
|
DISTFILES += \
|
||||||
|
en_US.qm \
|
||||||
|
en_US.ts
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE QtCreatorProject>
|
<!DOCTYPE QtCreatorProject>
|
||||||
<!-- Written by QtCreator 6.0.2, 2023-11-11T19:43:38. -->
|
<!-- Written by QtCreator 7.0.1, 2023-11-25T17:10:08. -->
|
||||||
<qtcreator>
|
<qtcreator>
|
||||||
<data>
|
<data>
|
||||||
<variable>EnvironmentId</variable>
|
<variable>EnvironmentId</variable>
|
||||||
<value type="QByteArray">{a0cf9984-2e67-4681-b510-f5b353d70d1b}</value>
|
<value type="QByteArray">{4ffd6df9-1365-4837-81b1-582e0e2d1f21}</value>
|
||||||
</data>
|
</data>
|
||||||
<data>
|
<data>
|
||||||
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
<variable>ProjectExplorer.Project.ActiveTarget</variable>
|
||||||
@@ -77,7 +77,7 @@
|
|||||||
<value type="bool" key="ClangTools.AnalyzeOpenFiles">true</value>
|
<value type="bool" key="ClangTools.AnalyzeOpenFiles">true</value>
|
||||||
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
|
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
|
||||||
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
|
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
|
||||||
<value type="int" key="ClangTools.ParallelJobs">4</value>
|
<value type="int" key="ClangTools.ParallelJobs">2</value>
|
||||||
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
|
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
|
||||||
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
|
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
|
||||||
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
|
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
|
||||||
@@ -89,15 +89,180 @@
|
|||||||
<variable>ProjectExplorer.Project.Target.0</variable>
|
<variable>ProjectExplorer.Project.Target.0</variable>
|
||||||
<valuemap type="QVariantMap">
|
<valuemap type="QVariantMap">
|
||||||
<value type="QString" key="DeviceType">Desktop</value>
|
<value type="QString" key="DeviceType">Desktop</value>
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 5.15.3 in PATH (qt5)</value>
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">桌面</value>
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Qt 5.15.3 in PATH (qt5)</value>
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">桌面</value>
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{37ac6aef-5dcd-46dc-8ca6-00e6a5a4377d}</value>
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{b17c65ba-6912-41bf-b5c1-4c7446f6c967}</value>
|
||||||
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</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.ActiveDeployConfiguration">0</value>
|
||||||
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
|
||||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/orangepi/Desktop/deep-wine-runner/../VM-source</value>
|
<value type="int" key="EnableQmlDebugging">0</value>
|
||||||
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/orangepi/Desktop/deep-wine-runner/../VM-source</value>
|
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/gfdgd_xi/Desktop/build-VirtualMachine-unknown-Debug</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/gfdgd_xi/Desktop/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.Id">QtProjectManager.QMakeBuildStep</value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||||
|
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</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">Build</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.Id">Qt4ProjectManager.MakeStep</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</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">Clean</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.CustomParsers"/>
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
|
||||||
|
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||||
|
<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>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
|
||||||
|
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/gfdgd_xi/Desktop/deep-wine-runner/build-VirtualMachine-unknown-Release</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/gfdgd_xi/Desktop/deep-wine-runner/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.Id">QtProjectManager.QMakeBuildStep</value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||||
|
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</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">Build</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.Id">Qt4ProjectManager.MakeStep</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</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">Clean</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.CustomParsers"/>
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
|
||||||
|
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||||
|
<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="int" key="QtQuickCompiler">0</value>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
|
||||||
|
<value type="int" key="EnableQmlDebugging">0</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/gfdgd_xi/Desktop/deep-wine-runner/build-VirtualMachine-unknown-Profile</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/gfdgd_xi/Desktop/deep-wine-runner/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.Id">QtProjectManager.QMakeBuildStep</value>
|
||||||
|
<value type="bool" key="QtProjectManager.QMakeBuildStep.QMakeForced">false</value>
|
||||||
|
<valuelist type="QVariantList" key="QtProjectManager.QMakeBuildStep.SelectedAbis"/>
|
||||||
|
</valuemap>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.MakeStep</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">Build</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.Id">Qt4ProjectManager.MakeStep</value>
|
||||||
|
<value type="QString" key="Qt4ProjectManager.MakeStep.MakeArguments">clean</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">Clean</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.CustomParsers"/>
|
||||||
|
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
|
||||||
|
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
|
||||||
|
<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="int" key="QtQuickCompiler">0</value>
|
||||||
|
<value type="int" key="SeparateDebugInfo">0</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">Deploy</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
|
||||||
|
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
|
||||||
|
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</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.RunConfiguration.0">
|
||||||
|
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
|
||||||
|
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
|
||||||
|
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||||
|
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||||
|
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||||
|
<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="ProjectExplorer.RunConfiguration.BuildKey">/home/gfdgd_xi/Desktop/deep-wine-runner/VM-source/VirtualMachine.pro</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.UseQmlDebugger">false</value>
|
||||||
|
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||||
|
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/gfdgd_xi/Desktop/build-VirtualMachine-unknown-Debug</value>
|
||||||
|
</valuemap>
|
||||||
|
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||||
|
</valuemap>
|
||||||
|
</data>
|
||||||
|
<data>
|
||||||
|
<variable>ProjectExplorer.Project.Target.1</variable>
|
||||||
|
<valuemap type="QVariantMap">
|
||||||
|
<value type="QString" key="DeviceType">Desktop</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Qt 5.15.6 in PATH (qt5)</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Qt 5.15.6 in PATH (qt5)</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{ab20853c-9d79-473a-820e-8e95c145170e}</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/Desktop/building/deep-wine-runner/VM-source</value>
|
||||||
|
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">/home/gfdgd_xi/Desktop/building/deep-wine-runner/VM-source</value>
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
|
||||||
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
|
||||||
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
|
||||||
@@ -155,22 +320,20 @@
|
|||||||
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
<valuelist type="QVariantList" key="CustomOutputParsers"/>
|
||||||
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
|
||||||
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
|
||||||
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">VirtualMachine2</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="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:/home/orangepi/Desktop/windows-virtual-machine-installer-for-wine-runner/VirtualMachine.pro</value>
|
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/gfdgd_xi/Desktop/deep-wine-runner/VM-source/VirtualMachine.pro</value>
|
||||||
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">/home/orangepi/Desktop/windows-virtual-machine-installer-for-wine-runner/VirtualMachine.pro</value>
|
|
||||||
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
|
||||||
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
|
||||||
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
|
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
|
||||||
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
|
||||||
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
|
||||||
<value type="QString" key="RunConfiguration.WorkingDirectory.default">/home/orangepi/Desktop/VM-source</value>
|
|
||||||
</valuemap>
|
</valuemap>
|
||||||
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
|
||||||
</valuemap>
|
</valuemap>
|
||||||
</data>
|
</data>
|
||||||
<data>
|
<data>
|
||||||
<variable>ProjectExplorer.Project.TargetCount</variable>
|
<variable>ProjectExplorer.Project.TargetCount</variable>
|
||||||
<value type="int">1</value>
|
<value type="int">2</value>
|
||||||
</data>
|
</data>
|
||||||
<data>
|
<data>
|
||||||
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
|
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
|
||||||
|
|||||||
BIN
VM-source/en_US.qm
Normal file
BIN
VM-source/en_US.qm
Normal file
Binary file not shown.
602
VM-source/en_US.ts
Normal file
602
VM-source/en_US.ts
Normal file
@@ -0,0 +1,602 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!DOCTYPE TS>
|
||||||
|
<TS version="2.1" language="en" sourcelanguage="zh_CN">
|
||||||
|
<context>
|
||||||
|
<name>MainWindow</name>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="14"/>
|
||||||
|
<source>Wine 运行器虚拟机安装工具</source>
|
||||||
|
<translation>Wine Runner Virtual Machine Install Tools</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="32"/>
|
||||||
|
<location filename="mainwindow.ui" line="35"/>
|
||||||
|
<source>设置</source>
|
||||||
|
<translation>Setting</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="43"/>
|
||||||
|
<source>镜像路径:</source>
|
||||||
|
<translation>ISO FilePath:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="50"/>
|
||||||
|
<source>请选择系统镜像</source>
|
||||||
|
<translation>Please choose or input system image</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="57"/>
|
||||||
|
<source>浏览……</source>
|
||||||
|
<translation>browser...</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="68"/>
|
||||||
|
<source>系统版本:</source>
|
||||||
|
<translation>System Version:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="75"/>
|
||||||
|
<location filename="mainwindow.ui" line="79"/>
|
||||||
|
<source>Windows 7 32 位(支持自动安装)</source>
|
||||||
|
<translation>Windows 7 32bit (support auto installing)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="84"/>
|
||||||
|
<source>Windows 7 64 位(支持自动安装)</source>
|
||||||
|
<translation>Windows 7 64bit (support auto installing)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="89"/>
|
||||||
|
<source>其它 Windows 系统(不支持自动安装,传统启动,推荐 Windows 7 及以下)</source>
|
||||||
|
<translation>Other system (unsupport auto installing and using legacy boot)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="94"/>
|
||||||
|
<source>其他 Windows 系统(不支持自动安装,UEFI 启动,推荐 Windows 8 及以上)</source>
|
||||||
|
<translation>Other system (unsupport auto installing and using UEFI boot)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="99"/>
|
||||||
|
<source>安装 WIndows 11(不支持自动安装)</source>
|
||||||
|
<translation>Install windows (unsupport auto installing)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="104"/>
|
||||||
|
<source>安装其他 Windows XP(支持自动安装,只支持 VirtualBox)</source>
|
||||||
|
<translation>Install other Windows XP (support auto installing but only support VirtualBox)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="109"/>
|
||||||
|
<source>安装其他 Windows (支持自动安装,传统启动,只支持 VirtualBox)</source>
|
||||||
|
<translation>Install Other Windows (support auto installing and using legacy boot but only support VirtualBox)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="114"/>
|
||||||
|
<source>安装其他 Windows(支持自动安装,UEFI 启动,只支持 VirtualBox)</source>
|
||||||
|
<translation>Install Other Windows (support auto installing and using UEFI boot but only support VirtualBox)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="119"/>
|
||||||
|
<source>安装 arm32 系统(只支持 Qemu)</source>
|
||||||
|
<translation>Install arm32 system (only support Qemu/KVM)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="124"/>
|
||||||
|
<source>安装 arm64 系统(只支持 Qemu)</source>
|
||||||
|
<translation>Install arm64 system (only support Qemu/KVM)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="136"/>
|
||||||
|
<source>虚拟机(建议默认):</source>
|
||||||
|
<translation>Virtual Machine:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="143"/>
|
||||||
|
<location filename="mainwindow.ui" line="153"/>
|
||||||
|
<source>qemu/kvm</source>
|
||||||
|
<translation></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="158"/>
|
||||||
|
<source>VirtualBox</source>
|
||||||
|
<translation></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="183"/>
|
||||||
|
<source>安装 Qemu</source>
|
||||||
|
<translation>Install Qemu</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="190"/>
|
||||||
|
<source>kvm 测试</source>
|
||||||
|
<translation>kvm test</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="197"/>
|
||||||
|
<source>Qemu虚拟机设置</source>
|
||||||
|
<translation>Qemu Setting</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="204"/>
|
||||||
|
<source>添加/覆盖Qemu磁盘</source>
|
||||||
|
<translation>Add/Replace Qemu Disk</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="211"/>
|
||||||
|
<source>导出Qemu磁盘</source>
|
||||||
|
<translation>Export Qemu Disk</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="218"/>
|
||||||
|
<source>移除Qemu磁盘</source>
|
||||||
|
<translation>Delete Qemu Disk</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="225"/>
|
||||||
|
<source>获取VirtualBox</source>
|
||||||
|
<translation>Get VirtualBox</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="232"/>
|
||||||
|
<source>安装</source>
|
||||||
|
<translation>Install</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="241"/>
|
||||||
|
<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:11pt;">UOS 3a4000 用户在使用 Qemu 时可能会出现虚拟机无法正常开机的问题,需要安装/降级到以下链接的版本:</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;">蓝奏云:</span><a href="https://gfdgdxi.lanzoue.com/b01rk9wza"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://gfdgdxi.lanzoue.com/b01rk9wza</span></a><span style=" font-size:11pt;"> 密码:6wvf</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;">诚通网盘:</span><a href="http://ctfile.gfdgdxi.top/d/31540479-58662214-c46520?p=2061"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">http://ctfile.gfdgdxi.top/d/31540479-58662214-c46520?p=2061</span></a><span style=" font-size:11pt;"> (访问密码: 2061)</span></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:11pt;">注:Qemu 跨架构效率较低,如无特殊情况不建议跨架构/不开硬件加速(如 kvm)运行 Qemu</span></p>
|
||||||
|
<hr />
|
||||||
|
<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;">如何安装系统?使用迅雷或者网盘下载以下任意一个链接的 ISO 镜像然后在上面选择即可:</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;">123 网盘链接:</span><a href="https://www.123pan.com/s/pDSKVv-oypWv"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://www.123pan.com/s/pDSKVv-oypWv</span></a></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;">迅雷网盘:</span><a href="https://pan.xunlei.com/s/VNKMz3wgbYHg6JIh50ZKIc7pA1?pwd=35e5"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://pan.xunlei.com/s/VNKMz3wgbYHg6JIh50ZKIc7pA1?pwd=35e5</span></a><span style=" font-size:10pt;"> 提取码:35e5</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;">百度网盘:</span><a href="https://pan.baidu.com/s/19WbvinITCQJFZpAdZutrjg?pwd=me4y"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://pan.baidu.com/s/19WbvinITCQJFZpAdZutrjg?pwd=me4y</span></a><span style=" font-size:10pt;"> 提取码: me4y</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;">诚通网盘:</span><a href="http://ctfile.gfdgdxi.top/d/31540479-58662220-3590cf?p=2061"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">http://ctfile.gfdgdxi.top/d/31540479-58662220-3590cf?p=2061</span></a><span style=" font-size:10pt;"> (访问密码: 2061)</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;">(如果下载这个,系统版本选第一项,一般推荐这个)</span><a href="ed2k://|file|cn_windows_7_ultimate_with_sp1_x86_dvd_u_677486.iso|2653276160|7503E4B9B8738DFCB95872445C72AEFB|/"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">ed2k://|file|cn_windows_7_ultimate_with_sp1_x86_dvd_u_677486.iso|2653276160|7503E4B9B8738DFCB95872445C72AEFB|/</span></a></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;">(如果下载这个,系统版本选第二项)</span><a href="ed2k://|file|cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso|3420557312|B58548681854236C7939003B583A8078|/"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">ed2k://|file|cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso|3420557312|B58548681854236C7939003B583A8078|/</span></a></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:11pt; font-weight:600;">常用 Windows 软件:</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;">百度网盘:链接: </span><a href="https://pan.baidu.com/s/1D1NSy7k7XBnOZL_tNTnG6g?pwd=7s2p"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://pan.baidu.com/s/1D1NSy7k7XBnOZL_tNTnG6g?pwd=7s2p</span></a><span style=" font-size:11pt;"> 提取码: 7s2p </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;">诚通网盘:</span><a href="http://ctfile.gfdgdxi.top/d/31540479-58659214-0732a8?p=2061"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">http://ctfile.gfdgdxi.top/d/31540479-58659214-0732a8?p=2061</span></a><span style=" font-size:11pt;"> (访问密码: 2061)</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;">123网盘:</span><a href="https://www.123pan.com/s/pDSKVv-uCBWv.html"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://www.123pan.com/s/pDSKVv-uCBWv.html</span></a></p>
|
||||||
|
<hr /></body></html></source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="274"/>
|
||||||
|
<source>安装/使用帮助</source>
|
||||||
|
<translation>Document</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="283"/>
|
||||||
|
<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;">其实本质上跑完安装程序就没有然后了,顶多如果想要运行舒服一点点,可以安装加强功能,直接拉到最底下看就可以了,<span style=" font-weight:600; font-style:italic; text-decoration: underline;">只限使用 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-weight:600; font-style:italic; text-decoration: underline;">如果你是用非 X86 PC,那暂时只能使用 qemu(没 kvm),且跨架构的性能损失很大,推荐使用 Windows XP 而非 Windows 7</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;"><span style=" font-weight:600; text-decoration: underline;">(这里的帮助更新可能不会那么及时,更详细/新的帮助可以看:https://gitee.com/gfdgd-xi/deep-wine-runner/wikis 或 https://gitee.com/gfdgd-xi/wine-runner-wiki)</span></p>
|
||||||
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">(如果鼠标被锁定到里面了按下键盘右边的“Ctrl”键就可以了,<span style=" font-weight:600; font-style:italic; text-decoration: underline;">qemu则是 Ctrl+Alt+G</span> )</p>
|
||||||
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">VirtualBox 可以安装增强功能以优化体验,安装方法往下翻即可查询</p>
|
||||||
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Qemu 可以安装 Virtio 以优化体验,下载链接:<a href="https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/</span></a></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;">安装加强功能有什么好处?(只限使用 VirtualBox)</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="364"/>
|
||||||
|
<location filename="mainwindow.ui" line="482"/>
|
||||||
|
<source>关于</source>
|
||||||
|
<translation>About</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="421"/>
|
||||||
|
<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;">此组件也有非常大的缺点,就是相比于 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="-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></body></html></source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="463"/>
|
||||||
|
<source>虚拟机</source>
|
||||||
|
<translation>Virtual Machine</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="477"/>
|
||||||
|
<source>退出</source>
|
||||||
|
<translation>Exit</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="487"/>
|
||||||
|
<source>导入/覆盖</source>
|
||||||
|
<translation>Add/Replace</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="492"/>
|
||||||
|
<source>导出</source>
|
||||||
|
<translation>Export</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="497"/>
|
||||||
|
<location filename="mainwindow.cpp" line="442"/>
|
||||||
|
<source>虚拟机安装日志</source>
|
||||||
|
<translation>Virtual Machine log (Installing)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="502"/>
|
||||||
|
<location filename="mainwindow.cpp" line="408"/>
|
||||||
|
<source>虚拟机运行日志</source>
|
||||||
|
<translation>Virtual Machine log (Running)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="507"/>
|
||||||
|
<source>虚拟机测试(X86、Qemu)</source>
|
||||||
|
<translation>Qemu Test (x86, qemu)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="512"/>
|
||||||
|
<source>强制停止 VirtualBox</source>
|
||||||
|
<translation>Stop VirtualBox with forced</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="517"/>
|
||||||
|
<source>强制停止 Qemu</source>
|
||||||
|
<translation>Stop Qemu with forced</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="88"/>
|
||||||
|
<source>Wine 运行器虚拟机安装工具 </source>
|
||||||
|
<translation>Wine Runner Virtual Machine Install Tools </translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="90"/>
|
||||||
|
<source><p>程序版本号:</source>
|
||||||
|
<translation><p>Program Version:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="90"/>
|
||||||
|
<source></p><p>安装包构建时间:</source>
|
||||||
|
<translation></p><p>Package build time:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="90"/>
|
||||||
|
<source></p><p>该组件构建时间:</source>
|
||||||
|
<translation></p><p>Tools builded time:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="92"/>
|
||||||
|
<source><hr/><h1>谢明列表</h1></source>
|
||||||
|
<translation><hr/><h1>Thank</h1></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="179"/>
|
||||||
|
<location filename="mainwindow.cpp" line="186"/>
|
||||||
|
<location filename="mainwindow.cpp" line="193"/>
|
||||||
|
<location filename="mainwindow.cpp" line="200"/>
|
||||||
|
<location filename="mainwindow.cpp" line="215"/>
|
||||||
|
<location filename="mainwindow.cpp" line="222"/>
|
||||||
|
<location filename="mainwindow.cpp" line="229"/>
|
||||||
|
<location filename="mainwindow.cpp" line="248"/>
|
||||||
|
<location filename="mainwindow.cpp" line="254"/>
|
||||||
|
<location filename="mainwindow.cpp" line="263"/>
|
||||||
|
<location filename="mainwindow.cpp" line="307"/>
|
||||||
|
<location filename="mainwindow.cpp" line="322"/>
|
||||||
|
<location filename="mainwindow.cpp" line="328"/>
|
||||||
|
<location filename="mainwindow.cpp" line="332"/>
|
||||||
|
<location filename="mainwindow.cpp" line="338"/>
|
||||||
|
<location filename="mainwindow.cpp" line="357"/>
|
||||||
|
<location filename="mainwindow.cpp" line="360"/>
|
||||||
|
<location filename="mainwindow.cpp" line="364"/>
|
||||||
|
<location filename="mainwindow.cpp" line="367"/>
|
||||||
|
<location filename="mainwindow.cpp" line="392"/>
|
||||||
|
<location filename="mainwindow.cpp" line="404"/>
|
||||||
|
<location filename="mainwindow.cpp" line="438"/>
|
||||||
|
<source>提示</source>
|
||||||
|
<translation>Tips</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="179"/>
|
||||||
|
<source>您似乎没有安装 Qemu,是否继续创建虚拟机?</source>
|
||||||
|
<translation>Can't find qemu, do you want to countinue to create the virtual machine?</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="186"/>
|
||||||
|
<source>您似乎没有安装 VBox,是否继续创建虚拟机?</source>
|
||||||
|
<translation>Can't find VirtualBox, do you want to countinue to create the virtual machine?</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="193"/>
|
||||||
|
<source>无法检测到 qemu-system-arm,是否继续创建虚拟机?</source>
|
||||||
|
<translation>Can't find the qemu-system-arm, do you want to countinue to create the virtual machine?</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="200"/>
|
||||||
|
<source>无法检测到 qemu-system-aarch64,是否继续创建虚拟机?</source>
|
||||||
|
<translation>Can't find the qemu-system-aarch64, do you want to countinue to create the virtual machine?</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="215"/>
|
||||||
|
<source>似乎无法找到 Windows7X86Auto.iso,是否继续创建虚拟机?
|
||||||
|
缺少该文件可能会导致虚拟机无法正常启动,尝试重新安装 Wine 运行器再试试?</source>
|
||||||
|
<translation>Can't find the Windows7X86Auto.iso, do you want to countinue to create the virtual machine?</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="222"/>
|
||||||
|
<source>似乎无法找到 Windows7X64Auto.iso,是否继续创建虚拟机?
|
||||||
|
缺少该文件可能会导致虚拟机无法正常启动,尝试重新安装 Wine 运行器再试试?</source>
|
||||||
|
<translation>Can't find the Windows7X64Auto.iso, do you want to countinue to create the virtual machine?</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="229"/>
|
||||||
|
<source>似乎无法找到 UEFI 固件,是否继续创建虚拟机?
|
||||||
|
Qemu 固件可以在“安装 Qemu”处安装</source>
|
||||||
|
<translation>Can't find the UEFI boot, do you want to countinue to create the virtual machine?
|
||||||
|
You can get qemu efi from "Install Qemu" button</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="248"/>
|
||||||
|
<source>Qemu 不支持该选项!</source>
|
||||||
|
<translation>Qemu unsupport it</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="254"/>
|
||||||
|
<location filename="mainwindow.cpp" line="263"/>
|
||||||
|
<source>VirtualBox 不支持该选项!</source>
|
||||||
|
<translation>VirtualBox unsupport it</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="278"/>
|
||||||
|
<source>提示:目前已经尝试开启虚拟机,如果在一段时间后依旧还没看到虚拟机窗口开启,请在菜单栏查看虚拟机日志</source>
|
||||||
|
<translation>Tips: It trying to start virtualbox now, you should view the log in the tools menu if you can't see the virtual machine window a few time late</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="307"/>
|
||||||
|
<source>磁盘文件已存在,是否覆盖?
|
||||||
|
覆盖后将无法恢复!</source>
|
||||||
|
<translation>Qemu Disk is exist. Do you want to replace?
|
||||||
|
You will not recovery after you replacing!</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="311"/>
|
||||||
|
<source>选择 Qemu 镜像</source>
|
||||||
|
<translation>Choose Qemu Disk</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="311"/>
|
||||||
|
<source>Qemu镜像(*.qcow2 *.img *.raw *.qcow *.qed *.vdi *.vhdx *.vmdk);;所有文件(*.*)</source>
|
||||||
|
<translation>Qemu Disk(*.qcow2 *.img *.raw *.qcow *.qed *.vdi *.vhdx *.vmdk);;All files(*.*)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="322"/>
|
||||||
|
<location filename="mainwindow.cpp" line="328"/>
|
||||||
|
<source>添加错误!</source>
|
||||||
|
<translation>Add error!</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="332"/>
|
||||||
|
<source>添加完成!</source>
|
||||||
|
<translation>Add finishing!</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="338"/>
|
||||||
|
<source>不存在磁盘文件,无法导出</source>
|
||||||
|
<translation>Can't export because can't find the qemu disk</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="357"/>
|
||||||
|
<source>不存在磁盘文件,无法移除</source>
|
||||||
|
<translation>Can't delete because can't find the qemu disk</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="360"/>
|
||||||
|
<source>是否删除?
|
||||||
|
删除后将无法恢复!</source>
|
||||||
|
<translation>Do you want to delete?
|
||||||
|
It can't recovery after you deleting!</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="364"/>
|
||||||
|
<source>移除失败</source>
|
||||||
|
<translation>Delete error</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="367"/>
|
||||||
|
<source>移除成功</source>
|
||||||
|
<translation>Delete successfully</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="373"/>
|
||||||
|
<location filename="mainwindow.cpp" line="389"/>
|
||||||
|
<source>错误</source>
|
||||||
|
<translation>Error</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="373"/>
|
||||||
|
<source>未识别到命令 kvm-ok
|
||||||
|
可以使用命令 sudo apt install cpu-checker 安装</source>
|
||||||
|
<translation>Can't find the command "kvm-ok" and you can use command "sudo apt install cpu-checker" to install</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="383"/>
|
||||||
|
<source>使用</source>
|
||||||
|
<translation>Use</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="389"/>
|
||||||
|
<source>您的系统不支持使用 kvm:
|
||||||
|
</source>
|
||||||
|
<translation>Your system can't use kvm:
|
||||||
|
</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="392"/>
|
||||||
|
<source>您的系统支持使用 kvm:
|
||||||
|
</source>
|
||||||
|
<translation>Your system can use kvm:
|
||||||
|
</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="404"/>
|
||||||
|
<location filename="mainwindow.cpp" line="438"/>
|
||||||
|
<source>没有日志文件</source>
|
||||||
|
<translation>Can't find the log file</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="408"/>
|
||||||
|
<source>运行日志</source>
|
||||||
|
<translation>Running file</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="442"/>
|
||||||
|
<source>安装日志</source>
|
||||||
|
<translation>Installed log</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>QemuSetting</name>
|
||||||
|
<message>
|
||||||
|
<location filename="qemusetting.ui" line="14"/>
|
||||||
|
<source>设置</source>
|
||||||
|
<translation>Setting</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="qemusetting.ui" line="35"/>
|
||||||
|
<source><h3>远程服务</h3></source>
|
||||||
|
<translation><h3>Remote Service</h3></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="qemusetting.ui" line="42"/>
|
||||||
|
<source>VNC服务端口:</source>
|
||||||
|
<translation>VNC service port:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="qemusetting.ui" line="49"/>
|
||||||
|
<source>开启 rdp 服务映射</source>
|
||||||
|
<translation>Enable rdp port</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="qemusetting.ui" line="56"/>
|
||||||
|
<source>内存大小(MB):</source>
|
||||||
|
<translation>Memory size (MB):</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="qemusetting.ui" line="90"/>
|
||||||
|
<source><h3>基础设置</h3></source>
|
||||||
|
<translation><h3>Base setting</h3></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="qemusetting.ui" line="97"/>
|
||||||
|
<source>开启VNC服务</source>
|
||||||
|
<translation>Enable VNC service</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="qemusetting.ui" line="104"/>
|
||||||
|
<source>开启 kvm 加速</source>
|
||||||
|
<translation>Enable kvm</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="qemusetting.ui" line="111"/>
|
||||||
|
<source>CPU核心数:</source>
|
||||||
|
<translation>CPU cores:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="qemusetting.ui" line="125"/>
|
||||||
|
<source>开启声音</source>
|
||||||
|
<translation>Enable sound</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="qemusetting.ui" line="145"/>
|
||||||
|
<source>保存</source>
|
||||||
|
<translation>Save</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="qemusetting.ui" line="158"/>
|
||||||
|
<source>取消</source>
|
||||||
|
<translation>Cancel</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="qemusetting.ui" line="171"/>
|
||||||
|
<source>重置
|
||||||
|
默认</source>
|
||||||
|
<translation>Resetting</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="qemusetting.ui" line="185"/>
|
||||||
|
<source>获取
|
||||||
|
Wine
|
||||||
|
运行器</source>
|
||||||
|
<translation>Get Wine
|
||||||
|
Runner</translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
</TS>
|
||||||
@@ -24,9 +24,13 @@ int main(int argc, char *argv[])
|
|||||||
QApplication a(argc, argv);
|
QApplication a(argc, argv);
|
||||||
// 语言
|
// 语言
|
||||||
QTranslator *trans = new QTranslator(&a);
|
QTranslator *trans = new QTranslator(&a);
|
||||||
trans->load("virtualmachine-en_US.qm");
|
if(!QProcessEnvironment::systemEnvironment().value("LANG").contains("zh_CN")){
|
||||||
|
trans->load(":/en_US.qm");
|
||||||
|
}
|
||||||
|
|
||||||
a.installTranslator(trans);
|
a.installTranslator(trans);
|
||||||
|
|
||||||
|
|
||||||
// 判断是否为 !amd64(无需判断了)
|
// 判断是否为 !amd64(无需判断了)
|
||||||
/*if(GetRunCommand("arch").replace(" ", "").replace("\n", "") != QString("x86_64")){
|
/*if(GetRunCommand("arch").replace(" ", "").replace("\n", "") != QString("x86_64")){
|
||||||
QMessageBox::critical(NULL, "错误", "此程序不支持非 X86 架构,立即退出");
|
QMessageBox::critical(NULL, "错误", "此程序不支持非 X86 架构,立即退出");
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
ui(new Ui::MainWindow)
|
ui(new Ui::MainWindow)
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
//QApplication a(argc, argv);
|
||||||
ui->tabWidget->setTabPosition(QTabWidget::West); // 标签靠左
|
ui->tabWidget->setTabPosition(QTabWidget::West); // 标签靠左
|
||||||
// 选择最优虚拟机
|
// 选择最优虚拟机
|
||||||
if(!system("which qemu-system-x86_64")){
|
if(!system("which qemu-system-x86_64")){
|
||||||
@@ -47,7 +48,7 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
QLoggingCategory::defaultCategory()->setEnabled(QtDebugMsg, true);
|
QLoggingCategory::defaultCategory()->setEnabled(QtDebugMsg, true);
|
||||||
// 判断是否安装 vbox(无需判断)
|
// 判断是否安装 vbox(无需判断)
|
||||||
/*if(system("which VBoxManage")){
|
/*if(system("which VBoxManage")){
|
||||||
if(QMessageBox::question(this, "提示", "检测到您似乎没有安装 VirtualBox,立即安装?") == QMessageBox::Yes){
|
if(QMessageBox::question(this, tr("提示"), "检测到您似乎没有安装 VirtualBox,立即安装?") == QMessageBox::Yes){
|
||||||
system("xdg-open https://www.virtualbox.org/wiki/Linux_Downloads");
|
system("xdg-open https://www.virtualbox.org/wiki/Linux_Downloads");
|
||||||
}
|
}
|
||||||
}*/
|
}*/
|
||||||
@@ -84,11 +85,11 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
|
|
||||||
}
|
}
|
||||||
// 设置程序标题
|
// 设置程序标题
|
||||||
this->setWindowTitle("Wine 运行器虚拟机安装工具 " + versionValue.toString());
|
this->setWindowTitle(tr("Wine 运行器虚拟机安装工具 ") + versionValue.toString());
|
||||||
// 读取谢明列表
|
// 读取谢明列表
|
||||||
ui->textBrowser_2->setHtml("<p>程序版本号:" + versionValue.toString() + ", " + GetRunCommand("arch") + "</p><p>安装包构建时间:" + buildTime.toString() + "</p><p>该组件构建时间:"
|
ui->textBrowser_2->setHtml(tr("<p>程序版本号:") + versionValue.toString() + ", " + GetRunCommand("arch") + tr("</p><p>安装包构建时间:") + buildTime.toString() + tr("</p><p>该组件构建时间:")
|
||||||
+ __DATE__ + " " + __TIME__ + "</p>" + ui->textBrowser_2->toHtml() +
|
+ __DATE__ + " " + __TIME__ + "</p>" + ui->textBrowser_2->toHtml() +
|
||||||
"<hr/><h1>谢明列表</h1>" + thankText);
|
tr("<hr/><h1>谢明列表</h1>") + thankText);
|
||||||
connect(ui->textBrowser_2, &QTextBrowser::anchorClicked, this, [=](const QUrl &link){
|
connect(ui->textBrowser_2, &QTextBrowser::anchorClicked, this, [=](const QUrl &link){
|
||||||
QDesktopServices::openUrl(link);
|
QDesktopServices::openUrl(link);
|
||||||
});
|
});
|
||||||
@@ -102,6 +103,7 @@ MainWindow::MainWindow(QWidget *parent) :
|
|||||||
ui->tabWidget->setTabIcon(1, QIcon::fromTheme(":/application-vnd.oasis.opendocument.text.svg"));
|
ui->tabWidget->setTabIcon(1, QIcon::fromTheme(":/application-vnd.oasis.opendocument.text.svg"));
|
||||||
// 设置窗口图标
|
// 设置窗口图标
|
||||||
this->setWindowIcon(QIcon(":/deepin-wine-runner.svg"));
|
this->setWindowIcon(QIcon(":/deepin-wine-runner.svg"));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::ShowCPUMessage(){
|
void MainWindow::ShowCPUMessage(){
|
||||||
@@ -141,6 +143,7 @@ void MainWindow::ShowCPUMessage(){
|
|||||||
}
|
}
|
||||||
m_cpuAll = cpuAll;
|
m_cpuAll = cpuAll;
|
||||||
m_cpuFree = cpuFree;
|
m_cpuFree = cpuFree;
|
||||||
|
ui->retranslateUi(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString MainWindow::GetRunCommand(QString command){
|
QString MainWindow::GetRunCommand(QString command){
|
||||||
@@ -173,28 +176,28 @@ void MainWindow::on_install_clicked()
|
|||||||
switch (ui->vmChooser->currentIndex()) {
|
switch (ui->vmChooser->currentIndex()) {
|
||||||
case 0:
|
case 0:
|
||||||
if(system("which qemu-system-x86_64")){
|
if(system("which qemu-system-x86_64")){
|
||||||
if(QMessageBox::question(this, "提示", "您似乎没有安装 Qemu,是否继续创建虚拟机?") == QMessageBox::No){
|
if(QMessageBox::question(this, tr("提示"), tr("您似乎没有安装 Qemu,是否继续创建虚拟机?")) == QMessageBox::No){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
if(system("which vboxmanage")){
|
if(system("which vboxmanage")){
|
||||||
if(QMessageBox::question(this, "提示", "您似乎没有安装 VBox,是否继续创建虚拟机?") == QMessageBox::No){
|
if(QMessageBox::question(this, tr("提示"), tr("您似乎没有安装 VBox,是否继续创建虚拟机?")) == QMessageBox::No){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 8:
|
case 8:
|
||||||
if(system("which qemu-system-arm")){
|
if(system("which qemu-system-arm")){
|
||||||
if(QMessageBox::question(this, "提示", "无法检测到 qemu-system-arm,是否继续创建虚拟机?") == QMessageBox::No){
|
if(QMessageBox::question(this, tr("提示"), tr("无法检测到 qemu-system-arm,是否继续创建虚拟机?")) == QMessageBox::No){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 9:
|
case 9:
|
||||||
if(system("which qemu-system-aarch64")){
|
if(system("which qemu-system-aarch64")){
|
||||||
if(QMessageBox::question(this, "提示", "无法检测到 qemu-system-aarch64,是否继续创建虚拟机?") == QMessageBox::No){
|
if(QMessageBox::question(this, tr("提示"), tr("无法检测到 qemu-system-aarch64,是否继续创建虚拟机?")) == QMessageBox::No){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -209,21 +212,21 @@ void MainWindow::on_install_clicked()
|
|||||||
switch (ui->systemVersion->currentIndex()) {
|
switch (ui->systemVersion->currentIndex()) {
|
||||||
case 0:
|
case 0:
|
||||||
if(!QFile::exists(QCoreApplication::applicationDirPath() + "/Windows7X86Auto.iso")){
|
if(!QFile::exists(QCoreApplication::applicationDirPath() + "/Windows7X86Auto.iso")){
|
||||||
if(QMessageBox::question(this, "提示", "似乎无法找到 Windows7X86Auto.iso,是否继续创建虚拟机?\n缺少该文件可能会导致虚拟机无法正常启动,尝试重新安装 Wine 运行器再试试?") == QMessageBox::No){
|
if(QMessageBox::question(this, tr("提示"), tr("似乎无法找到 Windows7X86Auto.iso,是否继续创建虚拟机?\n缺少该文件可能会导致虚拟机无法正常启动,尝试重新安装 Wine 运行器再试试?")) == QMessageBox::No){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
if(!QFile::exists(QCoreApplication::applicationDirPath() + "/Windows7X64Auto.iso")){
|
if(!QFile::exists(QCoreApplication::applicationDirPath() + "/Windows7X64Auto.iso")){
|
||||||
if(QMessageBox::question(this, "提示", "似乎无法找到 Windows7X64Auto.iso,是否继续创建虚拟机?\n缺少该文件可能会导致虚拟机无法正常启动,尝试重新安装 Wine 运行器再试试?") == QMessageBox::No){
|
if(QMessageBox::question(this, tr("提示"), tr("似乎无法找到 Windows7X64Auto.iso,是否继续创建虚拟机?\n缺少该文件可能会导致虚拟机无法正常启动,尝试重新安装 Wine 运行器再试试?")) == QMessageBox::No){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
if(!QFile::exists("/usr/share/qemu/OVMF.fd") && !QFile::exists(QCoreApplication::applicationDirPath() + "/OVMF.fd") && ui->vmChooser->currentIndex() == 0){
|
if(!QFile::exists("/usr/share/qemu/OVMF.fd") && !QFile::exists(QCoreApplication::applicationDirPath() + "/OVMF.fd") && ui->vmChooser->currentIndex() == 0){
|
||||||
if(QMessageBox::question(this, "提示", "似乎无法找到 UEFI 固件,是否继续创建虚拟机?\nQemu 固件可以在“安装 Qemu”处安装") == QMessageBox::No){
|
if(QMessageBox::question(this, tr("提示"), tr("似乎无法找到 UEFI 固件,是否继续创建虚拟机?\nQemu 固件可以在“安装 Qemu”处安装")) == QMessageBox::No){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -242,13 +245,13 @@ void MainWindow::on_install_clicked()
|
|||||||
case 6:
|
case 6:
|
||||||
case 7:
|
case 7:
|
||||||
if(ui->vmChooser->currentIndex() == 0){
|
if(ui->vmChooser->currentIndex() == 0){
|
||||||
QMessageBox::warning(this, "提示", "Qemu 不支持该选项!");
|
QMessageBox::warning(this, tr("提示"), tr("Qemu 不支持该选项!"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 8:
|
case 8:
|
||||||
if(ui->vmChooser->currentIndex() == 1){
|
if(ui->vmChooser->currentIndex() == 1){
|
||||||
QMessageBox::warning(this, "提示", "VirtualBox 不支持该选项!");
|
QMessageBox::warning(this, tr("提示"), tr("VirtualBox 不支持该选项!"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
archFile.open(QIODevice::WriteOnly);
|
archFile.open(QIODevice::WriteOnly);
|
||||||
@@ -257,7 +260,7 @@ void MainWindow::on_install_clicked()
|
|||||||
break;
|
break;
|
||||||
case 9:
|
case 9:
|
||||||
if(ui->vmChooser->currentIndex() == 1){
|
if(ui->vmChooser->currentIndex() == 1){
|
||||||
QMessageBox::warning(this, "提示", "VirtualBox 不支持该选项!");
|
QMessageBox::warning(this, tr("提示"), tr("VirtualBox 不支持该选项!"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
archFile.open(QIODevice::WriteOnly);
|
archFile.open(QIODevice::WriteOnly);
|
||||||
@@ -272,7 +275,7 @@ void MainWindow::on_install_clicked()
|
|||||||
buildvbox(ui->isoPath->text(), ui->systemVersion->currentIndex(), ui->vmChooser->currentIndex());
|
buildvbox(ui->isoPath->text(), ui->systemVersion->currentIndex(), ui->vmChooser->currentIndex());
|
||||||
ui->tabWidget->setCurrentIndex(1);
|
ui->tabWidget->setCurrentIndex(1);
|
||||||
stopShowTime = 1;
|
stopShowTime = 1;
|
||||||
ui->CPUValue->showMessage("提示:目前已经尝试开启虚拟机,如果在一段时间后依旧还没看到虚拟机窗口开启,请在菜单栏查看虚拟机日志", 10000);
|
ui->CPUValue->showMessage(tr("提示:目前已经尝试开启虚拟机,如果在一段时间后依旧还没看到虚拟机窗口开启,请在菜单栏查看虚拟机日志"), 10000);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -301,11 +304,11 @@ void MainWindow::on_qemuSetting_clicked()
|
|||||||
void MainWindow::on_addQemuDisk_triggered()
|
void MainWindow::on_addQemuDisk_triggered()
|
||||||
{
|
{
|
||||||
if(QFile::exists(QDir::homePath() + "/Qemu/Windows/Windows.qcow2")){
|
if(QFile::exists(QDir::homePath() + "/Qemu/Windows/Windows.qcow2")){
|
||||||
if(QMessageBox::question(this, "提示", "磁盘文件已存在,是否覆盖?\n覆盖后将无法恢复!") == QMessageBox::No){
|
if(QMessageBox::question(this, tr("提示"), tr("磁盘文件已存在,是否覆盖?\n覆盖后将无法恢复!")) == QMessageBox::No){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
QString path = QFileDialog::getOpenFileName(this, "选择 Qemu 镜像", QDir::homePath(), "Qemu镜像(*.qcow2 *.img *.raw *.qcow *.qed *.vdi *.vhdx *.vmdk);;所有文件(*.*)");
|
QString path = QFileDialog::getOpenFileName(this, tr("选择 Qemu 镜像"), QDir::homePath(), tr("Qemu镜像(*.qcow2 *.img *.raw *.qcow *.qed *.vdi *.vhdx *.vmdk);;所有文件(*.*)"));
|
||||||
qDebug() << path;
|
qDebug() << path;
|
||||||
if(path == ""){
|
if(path == ""){
|
||||||
return;
|
return;
|
||||||
@@ -316,23 +319,23 @@ void MainWindow::on_addQemuDisk_triggered()
|
|||||||
}
|
}
|
||||||
if(QFile::exists(QDir::homePath() + "/Qemu/Windows/Windows.qcow2")){
|
if(QFile::exists(QDir::homePath() + "/Qemu/Windows/Windows.qcow2")){
|
||||||
if(!QFile::remove(QDir::homePath() + "/Qemu/Windows/Windows.qcow2") | !QFile::copy(path, QDir::homePath() + "/Qemu/Windows/Windows.qcow2")){
|
if(!QFile::remove(QDir::homePath() + "/Qemu/Windows/Windows.qcow2") | !QFile::copy(path, QDir::homePath() + "/Qemu/Windows/Windows.qcow2")){
|
||||||
QMessageBox::critical(this, "提示", "添加错误!");
|
QMessageBox::critical(this, tr("提示"), tr("添加错误!"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
if(!QFile::copy(path, QDir::homePath() + "/Qemu/Windows/Windows.qcow2")){
|
if(!QFile::copy(path, QDir::homePath() + "/Qemu/Windows/Windows.qcow2")){
|
||||||
QMessageBox::critical(this, "提示", "添加错误!");
|
QMessageBox::critical(this, tr("提示"), tr("添加错误!"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
QMessageBox::information(this, "提示", "添加完成!");
|
QMessageBox::information(this, tr("提示"), tr("添加完成!"));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::on_delQemuDisk_triggered()
|
void MainWindow::on_delQemuDisk_triggered()
|
||||||
{
|
{
|
||||||
if(!QFile::exists(QDir::homePath() + "/Qemu/Windows/Windows.qcow2")){
|
if(!QFile::exists(QDir::homePath() + "/Qemu/Windows/Windows.qcow2")){
|
||||||
QMessageBox::information(this, "提示", "不存在磁盘文件,无法导出");
|
QMessageBox::information(this, tr("提示"), tr("不存在磁盘文件,无法导出"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
std::system(("xdg-open \"" + QDir::homePath() + "/Qemu/Windows/\"").toUtf8());
|
std::system(("xdg-open \"" + QDir::homePath() + "/Qemu/Windows/\"").toUtf8());
|
||||||
@@ -351,23 +354,23 @@ void MainWindow::on_saveQemuDiskButton_clicked()
|
|||||||
void MainWindow::on_delQemuDiskButton_clicked()
|
void MainWindow::on_delQemuDiskButton_clicked()
|
||||||
{
|
{
|
||||||
if(!QFile::exists(QDir::homePath() + "/Qemu/Windows/Windows.qcow2")){
|
if(!QFile::exists(QDir::homePath() + "/Qemu/Windows/Windows.qcow2")){
|
||||||
QMessageBox::information(this, "提示", "不存在磁盘文件,无法移除");
|
QMessageBox::information(this, tr("提示"), tr("不存在磁盘文件,无法移除"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(QMessageBox::question(this, "提示", "是否删除?\n删除后将无法恢复!") == QMessageBox::No){
|
if(QMessageBox::question(this, tr("提示"), tr("是否删除?\n删除后将无法恢复!")) == QMessageBox::No){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(!QFile::remove(QDir::homePath() + "/Qemu/Windows/Windows.qcow2")){
|
if(!QFile::remove(QDir::homePath() + "/Qemu/Windows/Windows.qcow2")){
|
||||||
QMessageBox::critical(this, "提示", "移除失败");
|
QMessageBox::critical(this, tr("提示"), tr("移除失败"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
QMessageBox::information(this, "提示", "移除成功");
|
QMessageBox::information(this, tr("提示"), tr("移除成功"));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::on_kvmTest_clicked()
|
void MainWindow::on_kvmTest_clicked()
|
||||||
{
|
{
|
||||||
if(system("which kvm-ok")&& !QFile::exists(QCoreApplication::applicationDirPath() + "/kvm-ok")){
|
if(system("which kvm-ok")&& !QFile::exists(QCoreApplication::applicationDirPath() + "/kvm-ok")){
|
||||||
QMessageBox::critical(this, "错误", "未识别到命令 kvm-ok\n可以使用命令 sudo apt install cpu-checker 安装");
|
QMessageBox::critical(this, tr("错误"), tr("未识别到命令 kvm-ok\n可以使用命令 sudo apt install cpu-checker 安装"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
QString kvm_ok_path = "kvm-ok";
|
QString kvm_ok_path = "kvm-ok";
|
||||||
@@ -377,16 +380,16 @@ void MainWindow::on_kvmTest_clicked()
|
|||||||
else if(QFile::exists(QCoreApplication::applicationDirPath() + "/kvm-ok")){
|
else if(QFile::exists(QCoreApplication::applicationDirPath() + "/kvm-ok")){
|
||||||
kvm_ok_path = QCoreApplication::applicationDirPath() + "/kvm-ok";
|
kvm_ok_path = QCoreApplication::applicationDirPath() + "/kvm-ok";
|
||||||
}
|
}
|
||||||
qDebug() << "使用" << kvm_ok_path;
|
qDebug() << tr("使用") << kvm_ok_path;
|
||||||
QProcess process;
|
QProcess process;
|
||||||
process.start(kvm_ok_path);
|
process.start(kvm_ok_path);
|
||||||
process.waitForStarted();
|
process.waitForStarted();
|
||||||
process.waitForFinished();
|
process.waitForFinished();
|
||||||
if(process.exitCode()){
|
if(process.exitCode()){
|
||||||
QMessageBox::critical(this, "错误", "您的系统不支持使用 kvm:\n" + process.readAll());
|
QMessageBox::critical(this, tr("错误"), tr("您的系统不支持使用 kvm:\n") + process.readAll());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
QMessageBox::information(this, "提示", "您的系统支持使用 kvm:\n" + process.readAll());
|
QMessageBox::information(this, tr("提示"), tr("您的系统支持使用 kvm:\n") + process.readAll());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -398,11 +401,11 @@ void MainWindow::on_actionVMRunlLog_triggered()
|
|||||||
{
|
{
|
||||||
QFile file("/tmp/windows-virtual-machine-installer-for-wine-runner-run.log");
|
QFile file("/tmp/windows-virtual-machine-installer-for-wine-runner-run.log");
|
||||||
if(!file.exists()){
|
if(!file.exists()){
|
||||||
QMessageBox::information(this, "提示", "没有日志文件");
|
QMessageBox::information(this, tr("提示"), tr("没有日志文件"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
file.open(QIODevice::ReadOnly);
|
file.open(QIODevice::ReadOnly);
|
||||||
QInputDialog::getMultiLineText(this, "运行日志", "虚拟机运行日志",file.readAll());
|
QInputDialog::getMultiLineText(this, tr("运行日志"), tr("虚拟机运行日志"), file.readAll());
|
||||||
file.close();
|
file.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -432,11 +435,11 @@ void MainWindow::on_actionVMInstallLog_triggered()
|
|||||||
{
|
{
|
||||||
QFile file("/tmp/windows-virtual-machine-installer-for-wine-runner-install.log");
|
QFile file("/tmp/windows-virtual-machine-installer-for-wine-runner-install.log");
|
||||||
if(!file.exists()){
|
if(!file.exists()){
|
||||||
QMessageBox::information(this, "提示", "没有日志文件");
|
QMessageBox::information(this, tr("提示"), tr("没有日志文件"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
file.open(QIODevice::ReadOnly);
|
file.open(QIODevice::ReadOnly);
|
||||||
QInputDialog::getMultiLineText(this, "安装日志", "虚拟机安装日志",file.readAll());
|
QInputDialog::getMultiLineText(this, tr("安装日志"), tr("虚拟机安装日志"),file.readAll());
|
||||||
file.close();
|
file.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
8
VM-source/trans.qrc
Normal file
8
VM-source/trans.qrc
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<RCC>
|
||||||
|
<qresource prefix="/">
|
||||||
|
<file>zh_CN.qm</file>
|
||||||
|
<file>zh_CN.ts</file>
|
||||||
|
<file>en_US.qm</file>
|
||||||
|
<file>en_US.ts</file>
|
||||||
|
</qresource>
|
||||||
|
</RCC>
|
||||||
@@ -5,7 +5,8 @@
|
|||||||
<name>MainWindow</name>
|
<name>MainWindow</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="mainwindow.ui" line="14"/>
|
<location filename="mainwindow.ui" line="14"/>
|
||||||
<source>Windows 应用适配工具</source>
|
<source>Wine 运行器虚拟机安装工具</source>
|
||||||
|
<oldsource>Windows 应用适配工具</oldsource>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
@@ -35,57 +36,137 @@
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="mainwindow.ui" line="78"/>
|
<location filename="mainwindow.ui" line="89"/>
|
||||||
<source>请选择系统类型(如果识别不了请自行选择,如果选择错误或不支持将无法进行自动安装)</source>
|
<source>其它 Windows 系统(不支持自动安装,传统启动,推荐 Windows 7 及以下)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="mainwindow.ui" line="82"/>
|
<location filename="mainwindow.ui" line="94"/>
|
||||||
<source>Windows 7 32 位(支持自动安装)</source>
|
<source>其他 Windows 系统(不支持自动安装,UEFI 启动,推荐 Windows 8 及以上)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="mainwindow.ui" line="87"/>
|
<location filename="mainwindow.ui" line="99"/>
|
||||||
<source>Windows 7 64 位(支持自动安装)</source>
|
<source>安装 WIndows 11(不支持自动安装)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="mainwindow.ui" line="92"/>
|
<location filename="mainwindow.ui" line="104"/>
|
||||||
<source>其它 Windows 系统(不支持自动安装)</source>
|
<source>安装其他 Windows XP(支持自动安装,只支持 VirtualBox)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="mainwindow.ui" line="117"/>
|
<location filename="mainwindow.ui" line="109"/>
|
||||||
<source>安装</source>
|
<source>安装其他 Windows (支持自动安装,传统启动,只支持 VirtualBox)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="mainwindow.ui" line="126"/>
|
<location filename="mainwindow.ui" line="114"/>
|
||||||
|
<source>安装其他 Windows(支持自动安装,UEFI 启动,只支持 VirtualBox)</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="119"/>
|
||||||
|
<source>安装 arm32 系统(只支持 Qemu)</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="124"/>
|
||||||
|
<source>安装 arm64 系统(只支持 Qemu)</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="136"/>
|
||||||
|
<source>虚拟机(建议默认):</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="143"/>
|
||||||
|
<location filename="mainwindow.ui" line="153"/>
|
||||||
|
<source>qemu/kvm</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="158"/>
|
||||||
|
<source>VirtualBox</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="183"/>
|
||||||
|
<source>安装 Qemu</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="190"/>
|
||||||
|
<source>kvm 测试</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="197"/>
|
||||||
|
<source>Qemu虚拟机设置</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="204"/>
|
||||||
|
<source>添加/覆盖Qemu磁盘</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="211"/>
|
||||||
|
<source>导出Qemu磁盘</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="218"/>
|
||||||
|
<source>移除Qemu磁盘</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="225"/>
|
||||||
|
<source>获取VirtualBox</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="241"/>
|
||||||
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
<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">
|
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||||
p, li { white-space: pre-wrap; }
|
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;">
|
</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:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">UOS 3a4000 用户在使用 Qemu 时可能会出现虚拟机无法正常开机的问题,需要安装/降级到以下链接的版本:</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:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:11pt;">蓝奏云:</span><a href="https://gfdgdxi.lanzoue.com/b01rk9wza"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://gfdgdxi.lanzoue.com/b01rk9wza</span></a><span style=" font-size:11pt;"> 密码:6wvf</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>
|
<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;">诚通网盘:</span><a href="http://ctfile.gfdgdxi.top/d/31540479-58662214-c46520?p=2061"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">http://ctfile.gfdgdxi.top/d/31540479-58662214-c46520?p=2061</span></a><span style=" font-size:11pt;"> (访问密码: 2061)</span></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:11pt;">注:Qemu 跨架构效率较低,如无特殊情况不建议跨架构/不开硬件加速(如 kvm)运行 Qemu</span></p>
|
||||||
|
<hr />
|
||||||
|
<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;">如何安装系统?使用迅雷或者网盘下载以下任意一个链接的 ISO 镜像然后在上面选择即可:</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;">123 网盘链接:</span><a href="https://www.123pan.com/s/pDSKVv-oypWv"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://www.123pan.com/s/pDSKVv-oypWv</span></a></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;">迅雷网盘:</span><a href="https://pan.xunlei.com/s/VNKMz3wgbYHg6JIh50ZKIc7pA1?pwd=35e5"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://pan.xunlei.com/s/VNKMz3wgbYHg6JIh50ZKIc7pA1?pwd=35e5</span></a><span style=" font-size:10pt;"> 提取码:35e5</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;">百度网盘:</span><a href="https://pan.baidu.com/s/19WbvinITCQJFZpAdZutrjg?pwd=me4y"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://pan.baidu.com/s/19WbvinITCQJFZpAdZutrjg?pwd=me4y</span></a><span style=" font-size:10pt;"> 提取码: me4y</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;">诚通网盘:</span><a href="http://ctfile.gfdgdxi.top/d/31540479-58662220-3590cf?p=2061"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">http://ctfile.gfdgdxi.top/d/31540479-58662220-3590cf?p=2061</span></a><span style=" font-size:10pt;"> (访问密码: 2061)</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;">(如果下载这个,系统版本选第一项,一般推荐这个)</span><a href="ed2k://|file|cn_windows_7_ultimate_with_sp1_x86_dvd_u_677486.iso|2653276160|7503E4B9B8738DFCB95872445C72AEFB|/"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">ed2k://|file|cn_windows_7_ultimate_with_sp1_x86_dvd_u_677486.iso|2653276160|7503E4B9B8738DFCB95872445C72AEFB|/</span></a></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;">(如果下载这个,系统版本选第二项)</span><a href="ed2k://|file|cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso|3420557312|B58548681854236C7939003B583A8078|/"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">ed2k://|file|cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso|3420557312|B58548681854236C7939003B583A8078|/</span></a></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:11pt; font-weight:600;">常用 Windows 软件:</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;">百度网盘:链接: </span><a href="https://pan.baidu.com/s/1D1NSy7k7XBnOZL_tNTnG6g?pwd=7s2p"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://pan.baidu.com/s/1D1NSy7k7XBnOZL_tNTnG6g?pwd=7s2p</span></a><span style=" font-size:11pt;"> 提取码: 7s2p </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;">诚通网盘:</span><a href="http://ctfile.gfdgdxi.top/d/31540479-58659214-0732a8?p=2061"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">http://ctfile.gfdgdxi.top/d/31540479-58659214-0732a8?p=2061</span></a><span style=" font-size:11pt;"> (访问密码: 2061)</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;">123网盘:</span><a href="https://www.123pan.com/s/pDSKVv-uCBWv.html"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://www.123pan.com/s/pDSKVv-uCBWv.html</span></a></p>
|
||||||
<hr /></body></html></source>
|
<hr /></body></html></source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="mainwindow.ui" line="141"/>
|
<location filename="mainwindow.ui" line="283"/>
|
||||||
<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">
|
<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">
|
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||||
p, li { white-space: pre-wrap; }
|
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;">
|
</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;"><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;">其实本质上跑完安装程序就没有然后了,顶多如果想要运行舒服一点点,可以安装加强功能,直接拉到最底下看就可以了,<span style=" font-weight:600; font-style:italic; text-decoration: underline;">只限使用 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-weight:600; font-style:italic; text-decoration: underline;">如果你是用非 X86 PC,那暂时只能使用 qemu(没 kvm),且跨架构的性能损失很大,推荐使用 Windows XP 而非 Windows 7</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>
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; text-decoration: underline;">(这里的帮助更新可能不会那么及时,更详细/新的帮助可以看:https://gitee.com/gfdgd-xi/deep-wine-runner/wikis 或 https://gitee.com/gfdgd-xi/wine-runner-wiki)</span></p>
|
||||||
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">(如果鼠标被锁定到里面了按下键盘右边的“Ctrl”键就可以了,<span style=" font-weight:600; font-style:italic; text-decoration: underline;">qemu则是 Ctrl+Alt+G</span> )</p>
|
||||||
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">VirtualBox 可以安装增强功能以优化体验,安装方法往下翻即可查询</p>
|
||||||
|
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Qemu 可以安装 Virtio 以优化体验,下载链接:<a href="https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/"><span style=" font-size:11pt; text-decoration: underline; color:#0082fa;">https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/</span></a></p>
|
||||||
<hr />
|
<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;"><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>
|
||||||
@@ -118,7 +199,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<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;"><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>
|
<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 />
|
<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:26pt; font-weight:600;">安装加强功能有什么好处?(只限使用 VirtualBox)</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;">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;">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;">3、支持文件共享、剪切板共享、文件拖放</p>
|
||||||
@@ -142,13 +223,7 @@ p, li { white-space: pre-wrap; }
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="mainwindow.ui" line="224"/>
|
<location filename="mainwindow.ui" line="421"/>
|
||||||
<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">
|
<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">
|
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||||
p, li { white-space: pre-wrap; }
|
p, li { white-space: pre-wrap; }
|
||||||
@@ -159,18 +234,364 @@ p, li { white-space: pre-wrap; }
|
|||||||
<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;"> 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;"> 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;"> 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;">此组件也有非常大的缺点,就是相比于 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>
|
<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 />
|
<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="-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></body></html></source>
|
||||||
<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>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="mainwindow.ui" line="308"/>
|
<location filename="mainwindow.ui" line="463"/>
|
||||||
|
<source>虚拟机</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="487"/>
|
||||||
|
<source>导入/覆盖</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="492"/>
|
||||||
|
<source>导出</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="497"/>
|
||||||
|
<location filename="mainwindow.cpp" line="442"/>
|
||||||
|
<source>虚拟机安装日志</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="502"/>
|
||||||
|
<location filename="mainwindow.cpp" line="408"/>
|
||||||
|
<source>虚拟机运行日志</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="507"/>
|
||||||
|
<source>虚拟机测试(X86、Qemu)</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="512"/>
|
||||||
|
<source>强制停止 VirtualBox</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="517"/>
|
||||||
|
<source>强制停止 Qemu</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="75"/>
|
||||||
|
<location filename="mainwindow.ui" line="79"/>
|
||||||
|
<source>Windows 7 32 位(支持自动安装)</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="84"/>
|
||||||
|
<source>Windows 7 64 位(支持自动安装)</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="232"/>
|
||||||
|
<source>安装</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="274"/>
|
||||||
|
<source>安装/使用帮助</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="364"/>
|
||||||
|
<location filename="mainwindow.ui" line="482"/>
|
||||||
|
<source>关于</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.ui" line="477"/>
|
||||||
<source>退出</source>
|
<source>退出</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="88"/>
|
||||||
|
<source>Wine 运行器虚拟机安装工具 </source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="90"/>
|
||||||
|
<source><p>程序版本号:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="90"/>
|
||||||
|
<source></p><p>安装包构建时间:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="90"/>
|
||||||
|
<source></p><p>该组件构建时间:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="92"/>
|
||||||
|
<source><hr/><h1>谢明列表</h1></source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="179"/>
|
||||||
|
<location filename="mainwindow.cpp" line="186"/>
|
||||||
|
<location filename="mainwindow.cpp" line="193"/>
|
||||||
|
<location filename="mainwindow.cpp" line="200"/>
|
||||||
|
<location filename="mainwindow.cpp" line="215"/>
|
||||||
|
<location filename="mainwindow.cpp" line="222"/>
|
||||||
|
<location filename="mainwindow.cpp" line="229"/>
|
||||||
|
<location filename="mainwindow.cpp" line="248"/>
|
||||||
|
<location filename="mainwindow.cpp" line="254"/>
|
||||||
|
<location filename="mainwindow.cpp" line="263"/>
|
||||||
|
<location filename="mainwindow.cpp" line="307"/>
|
||||||
|
<location filename="mainwindow.cpp" line="322"/>
|
||||||
|
<location filename="mainwindow.cpp" line="328"/>
|
||||||
|
<location filename="mainwindow.cpp" line="332"/>
|
||||||
|
<location filename="mainwindow.cpp" line="338"/>
|
||||||
|
<location filename="mainwindow.cpp" line="357"/>
|
||||||
|
<location filename="mainwindow.cpp" line="360"/>
|
||||||
|
<location filename="mainwindow.cpp" line="364"/>
|
||||||
|
<location filename="mainwindow.cpp" line="367"/>
|
||||||
|
<location filename="mainwindow.cpp" line="392"/>
|
||||||
|
<location filename="mainwindow.cpp" line="404"/>
|
||||||
|
<location filename="mainwindow.cpp" line="438"/>
|
||||||
|
<source>提示</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="179"/>
|
||||||
|
<source>您似乎没有安装 Qemu,是否继续创建虚拟机?</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="186"/>
|
||||||
|
<source>您似乎没有安装 VBox,是否继续创建虚拟机?</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="193"/>
|
||||||
|
<source>无法检测到 qemu-system-arm,是否继续创建虚拟机?</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="200"/>
|
||||||
|
<source>无法检测到 qemu-system-aarch64,是否继续创建虚拟机?</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="215"/>
|
||||||
|
<source>似乎无法找到 Windows7X86Auto.iso,是否继续创建虚拟机?
|
||||||
|
缺少该文件可能会导致虚拟机无法正常启动,尝试重新安装 Wine 运行器再试试?</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="222"/>
|
||||||
|
<source>似乎无法找到 Windows7X64Auto.iso,是否继续创建虚拟机?
|
||||||
|
缺少该文件可能会导致虚拟机无法正常启动,尝试重新安装 Wine 运行器再试试?</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="229"/>
|
||||||
|
<source>似乎无法找到 UEFI 固件,是否继续创建虚拟机?
|
||||||
|
Qemu 固件可以在“安装 Qemu”处安装</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="248"/>
|
||||||
|
<source>Qemu 不支持该选项!</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="254"/>
|
||||||
|
<location filename="mainwindow.cpp" line="263"/>
|
||||||
|
<source>VirtualBox 不支持该选项!</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="278"/>
|
||||||
|
<source>提示:目前已经尝试开启虚拟机,如果在一段时间后依旧还没看到虚拟机窗口开启,请在菜单栏查看虚拟机日志</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="307"/>
|
||||||
|
<source>磁盘文件已存在,是否覆盖?
|
||||||
|
覆盖后将无法恢复!</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="311"/>
|
||||||
|
<source>选择 Qemu 镜像</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="311"/>
|
||||||
|
<source>Qemu镜像(*.qcow2 *.img *.raw *.qcow *.qed *.vdi *.vhdx *.vmdk);;所有文件(*.*)</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="322"/>
|
||||||
|
<location filename="mainwindow.cpp" line="328"/>
|
||||||
|
<source>添加错误!</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="332"/>
|
||||||
|
<source>添加完成!</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="338"/>
|
||||||
|
<source>不存在磁盘文件,无法导出</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="357"/>
|
||||||
|
<source>不存在磁盘文件,无法移除</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="360"/>
|
||||||
|
<source>是否删除?
|
||||||
|
删除后将无法恢复!</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="364"/>
|
||||||
|
<source>移除失败</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="367"/>
|
||||||
|
<source>移除成功</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="373"/>
|
||||||
|
<location filename="mainwindow.cpp" line="389"/>
|
||||||
|
<source>错误</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="373"/>
|
||||||
|
<source>未识别到命令 kvm-ok
|
||||||
|
可以使用命令 sudo apt install cpu-checker 安装</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="383"/>
|
||||||
|
<source>使用</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="389"/>
|
||||||
|
<source>您的系统不支持使用 kvm:
|
||||||
|
</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="392"/>
|
||||||
|
<source>您的系统支持使用 kvm:
|
||||||
|
</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="404"/>
|
||||||
|
<location filename="mainwindow.cpp" line="438"/>
|
||||||
|
<source>没有日志文件</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="408"/>
|
||||||
|
<source>运行日志</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="mainwindow.cpp" line="442"/>
|
||||||
|
<source>安装日志</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
</context>
|
||||||
|
<context>
|
||||||
|
<name>QemuSetting</name>
|
||||||
|
<message>
|
||||||
|
<location filename="qemusetting.ui" line="14"/>
|
||||||
|
<source>设置</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="qemusetting.ui" line="35"/>
|
||||||
|
<source><h3>远程服务</h3></source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="qemusetting.ui" line="42"/>
|
||||||
|
<source>VNC服务端口:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="qemusetting.ui" line="49"/>
|
||||||
|
<source>开启 rdp 服务映射</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="qemusetting.ui" line="56"/>
|
||||||
|
<source>内存大小(MB):</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="qemusetting.ui" line="90"/>
|
||||||
|
<source><h3>基础设置</h3></source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="qemusetting.ui" line="97"/>
|
||||||
|
<source>开启VNC服务</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="qemusetting.ui" line="104"/>
|
||||||
|
<source>开启 kvm 加速</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="qemusetting.ui" line="111"/>
|
||||||
|
<source>CPU核心数:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="qemusetting.ui" line="125"/>
|
||||||
|
<source>开启声音</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="qemusetting.ui" line="145"/>
|
||||||
|
<source>保存</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="qemusetting.ui" line="158"/>
|
||||||
|
<source>取消</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="qemusetting.ui" line="171"/>
|
||||||
|
<source>重置
|
||||||
|
默认</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="qemusetting.ui" line="185"/>
|
||||||
|
<source>获取
|
||||||
|
Wine
|
||||||
|
运行器</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
</TS>
|
</TS>
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ Certainty: possible
|
|||||||
Check: binaries
|
Check: binaries
|
||||||
Type: binary, udeb
|
Type: binary, udeb
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Depends: python3, python3-pil, libc6, python3-pil.imagetk, python3-pyquery, aria2, curl, unrar | unrar-free , unzip, python3-requests, python3-pyqt5, python3-psutil, deepin-terminal | mate-terminal | gnome-terminal | xfce4-terminal, python3-dbus, python3-pip, p7zip-full, sudo, python3-pyperclip, bubblewrap, zenity
|
Depends: python3, python3-pil, libc6, python3-pil.imagetk, python3-pyquery, aria2, curl, unrar | unrar-free , unzip, python3-requests, python3-pyqt5, python3-psutil, deepin-terminal | mate-terminal | gnome-terminal | xfce4-terminal, python3-dbus, python3-pip, p7zip-full, sudo, python3-pyperclip, bubblewrap, zenity, tree
|
||||||
Recommends: winbind, wimtools, python3-pyqt5.qtwebengine, binfmt-support, libc6:i386, libc6:armhf, libwine
|
Recommends: winbind, wimtools, python3-pyqt5.qtwebengine, binfmt-support, libc6:i386, libc6:armhf, libwine
|
||||||
Section: utils
|
Section: utils
|
||||||
Conflicts: spark.deepin-venturi-setter, spark-deepin-wine5-application-packer, spark-deepin-wine-runner-52
|
Conflicts: spark.deepin-venturi-setter, spark-deepin-wine5-application-packer, spark-deepin-wine-runner-52
|
||||||
|
|||||||
@@ -642,6 +642,7 @@ if __name__ == "__main__":
|
|||||||
color: white;
|
color: white;
|
||||||
""")
|
""")
|
||||||
wineChooserList = [
|
wineChooserList = [
|
||||||
|
"使用 Deepin Wine8 Stable 打包应用",
|
||||||
"使用 Spark Wine8 打包应用",
|
"使用 Spark Wine8 打包应用",
|
||||||
"使用 Spark Wine7 Devel 打包应用",
|
"使用 Spark Wine7 Devel 打包应用",
|
||||||
"使用 Deepin Wine6 Stable 打包应用",
|
"使用 Deepin Wine6 Stable 打包应用",
|
||||||
@@ -650,12 +651,11 @@ if __name__ == "__main__":
|
|||||||
"使用 Deepin Wine2 打包应用"
|
"使用 Deepin Wine2 打包应用"
|
||||||
]
|
]
|
||||||
wineChooserIndex = 2
|
wineChooserIndex = 2
|
||||||
wineList = ["spark-wine8", "spark-wine7-devel", "deepin-wine6-stable", "deepin-wine6-vannila", "spark-wine8-wow", "deepin-wine5-stable", "deepin-wine5", "deepin-wine"]
|
wineList = ["deepin-wine8-stable", "spark-wine8", "spark-wine7-devel", "deepin-wine6-stable", "deepin-wine6-vannila", "spark-wine8-wow", "deepin-wine5-stable", "deepin-wine5", "deepin-wine"]
|
||||||
if os.system("which deepin-wine6-stable"):
|
for i in range(len(wineList)):
|
||||||
for i in range(len(wineList)):
|
if not os.system(f"which '{wineList[i]}'"):
|
||||||
if not os.system(f"which '{wineList[i]}'"):
|
wineChooserIndex = i
|
||||||
wineChooserIndex = i
|
break
|
||||||
break
|
|
||||||
chooseWine = wineList[wineChooserIndex]
|
chooseWine = wineList[wineChooserIndex]
|
||||||
wineChooserList[wineChooserIndex] = f"{wineChooserList[wineChooserIndex]}(推荐,如无特殊需求不建议更换)"
|
wineChooserList[wineChooserIndex] = f"{wineChooserList[wineChooserIndex]}(推荐,如无特殊需求不建议更换)"
|
||||||
wineChooser.addItems(wineChooserList)
|
wineChooser.addItems(wineChooserList)
|
||||||
|
|||||||
@@ -1584,9 +1584,9 @@ StartupNotify=false
|
|||||||
if helperConfigPath != None and helperConfigPath != "":
|
if helperConfigPath != None and helperConfigPath != "":
|
||||||
os.makedirs(f"{debPackagePath}/opt/deepinwine/tools/spark_run_v4_app_configs")
|
os.makedirs(f"{debPackagePath}/opt/deepinwine/tools/spark_run_v4_app_configs")
|
||||||
if e6_text.text()[-3: ] == ".7z":
|
if e6_text.text()[-3: ] == ".7z":
|
||||||
shutil.copy(helperConfigPath, f"{debPackagePath}/opt/deepinwine/tools/spark_run_v4_app_configs/{os.path.splitext(e6_text.text())[0]}.sh")
|
shutil.copy(helperConfigPath, f"{debPackagePath}/opt/deepinwine/tools/spark_run_v4_app_configs/{os.path.splitext(os.path.basename(e6_text.text()))[0]}.sh")
|
||||||
else:
|
else:
|
||||||
shutil.copy(helperConfigPath, f"{debPackagePath}/opt/deepinwine/tools/spark_run_v4_app_configs/{e6_text.text()}.sh")
|
shutil.copy(helperConfigPath, f"{debPackagePath}/opt/deepinwine/tools/spark_run_v4_app_configs/{os.path.basename(e6_text.text())}.sh")
|
||||||
################
|
################
|
||||||
# 修改文件权限
|
# 修改文件权限
|
||||||
################
|
################
|
||||||
@@ -2183,8 +2183,8 @@ bottleNameLock = False
|
|||||||
###############
|
###############
|
||||||
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
|
programPath = os.path.split(os.path.realpath(__file__))[0] # 返回 string
|
||||||
# 如果要添加其他 wine,请在字典添加其名称和执行路径
|
# 如果要添加其他 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", "spark-wine8": "spark-wine8", "spark-wine8-wow": "spark-wine8-wow", "deepin-wine6-vannila": "deepin-wine6-vannila"}
|
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", "okylin-wine": "okylin-wine", "spark-wine8": "spark-wine8", "spark-wine8-wow": "spark-wine8-wow", "deepin-wine6-vannila": "deepin-wine6-vannila", "deepin-wine8-stable": "deepin-wine8-stable"}
|
||||||
wineValue = {"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", "spark-wine8": "spark-wine8", "spark-wine8-wow": "spark-wine8-wow", "deepin-wine6-vannila": "deepin-wine6-vannila"}
|
wineValue = {"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", "okylin-wine": "okylin-wine", "spark-wine8": "spark-wine8", "spark-wine8-wow": "spark-wine8-wow", "deepin-wine6-vannila": "deepin-wine6-vannila", "deepin-wine8-stable": "deepin-wine8-stable"}
|
||||||
# 读取 wine 本地列表
|
# 读取 wine 本地列表
|
||||||
for i in os.listdir("/opt"):
|
for i in os.listdir("/opt"):
|
||||||
if os.path.exists(f"/opt/{i}/bin/wine"):
|
if os.path.exists(f"/opt/{i}/bin/wine"):
|
||||||
@@ -2243,7 +2243,7 @@ widgetLayout = QtWidgets.QGridLayout()
|
|||||||
# 设置变量以修改和获取值项
|
# 设置变量以修改和获取值项
|
||||||
wineVersion = QtWidgets.QComboBox()
|
wineVersion = QtWidgets.QComboBox()
|
||||||
wineVersion.addItems(wine.keys())
|
wineVersion.addItems(wine.keys())
|
||||||
wineVersion.setCurrentText("deepin-wine6 stable")
|
wineVersion.setCurrentText("deepin-wine8-stable")
|
||||||
e1_text = QtWidgets.QLineEdit()
|
e1_text = QtWidgets.QLineEdit()
|
||||||
e2_text = QtWidgets.QLineEdit()
|
e2_text = QtWidgets.QLineEdit()
|
||||||
e3_text = QtWidgets.QLineEdit()
|
e3_text = QtWidgets.QLineEdit()
|
||||||
|
|||||||
BIN
deepin-wine-runner_512x512.png
Normal file
BIN
deepin-wine-runner_512x512.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 34 KiB |
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"Version": "3.5.0",
|
"Version": "3.6.1",
|
||||||
"Time": "未知",
|
"Time": "未知",
|
||||||
"Thank": [
|
"Thank": [
|
||||||
"感性 @ёжезийлёзйз 进行 Loongarch 架构的测试(旧世界,远程)",
|
"感谢 @ёжезийлёзйз 进行 Loongarch 架构的测试(旧世界,远程)",
|
||||||
"感谢 @run@3a4k 提供 3a4000 测试机器(远程)",
|
"感谢 @run@3a4k 提供 3a4000 测试机器(远程)",
|
||||||
"感谢 RacoonGX 的付出与贡献",
|
"感谢 RacoonGX 的付出与贡献",
|
||||||
"感谢 @Amber 编写的《使用wine运行器打包无安装包的软件》:https://bbs.deepin.org/post/247720",
|
"感谢 @Amber 编写的《使用wine运行器打包无安装包的软件》:https://bbs.deepin.org/post/247720",
|
||||||
|
|||||||
670
mainwindow.py
670
mainwindow.py
File diff suppressed because it is too large
Load Diff
4
off-line-shell/GetNewestDebUrl.py
Normal file
4
off-line-shell/GetNewestDebUrl.py
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
import json
|
||||||
|
import requests
|
||||||
|
print(requests.get("http://update.gfdgdxi.top/update.json").json()["Url"][0])
|
||||||
BIN
off-line-shell/bwrap_amd64
Executable file
BIN
off-line-shell/bwrap_amd64
Executable file
Binary file not shown.
37
off-line-shell/compression-packager.sh
Normal file
37
off-line-shell/compression-packager.sh
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
zipPath=$1
|
||||||
|
tempPath=/tmp/wine-runner-$RANDOM
|
||||||
|
if [[ $1 == "--help" ]]; then
|
||||||
|
echo ©2020~`date +%Y` gfdgd xi
|
||||||
|
echo
|
||||||
|
echo ' --help' Show help
|
||||||
|
echo ' --no-clean' "Don't clean temp file after running"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
echo
|
||||||
|
echo 'm m " mmmmm '
|
||||||
|
echo '# # # mmm m mm mmm # "# m m m mm m mm mmm m mm '
|
||||||
|
echo '" #"# # # #" # #" # #mmmm" # # #" # #" # #" # #" "'
|
||||||
|
echo ' ## ##" # # # #"""" # "m # # # # # # #"""" # '
|
||||||
|
echo ' # # mm#mm # # "#mm" # " "mm"# # # # # "#mm" # '
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo 'mmmmm m"" # # " '
|
||||||
|
echo '# # m m mmmm mm#mm mmm# mmmm mmm# m m mmm '
|
||||||
|
echo '#mmmm" "m m" #" "# # #" "# #" "# #" "# #m# # '
|
||||||
|
echo '# # #m# # # # # # # # # # m#m # '
|
||||||
|
echo '#mmmm" "# "#m"# # "#m## "#m"# "#m## m" "m mm#mm'
|
||||||
|
echo ' m" m # m # '
|
||||||
|
echo ' "" "" "" '
|
||||||
|
echo
|
||||||
|
echo ©2020~`date +%Y` gfdgd xi
|
||||||
|
echo
|
||||||
|
echo Temp Path: $tempPath
|
||||||
|
mkdir -pv $tempPath
|
||||||
|
7z x "$1" -o$tempPath
|
||||||
|
bash $tempPath/run.sh
|
||||||
|
if [[ $1 != "--no-clean" ]]; then
|
||||||
|
rm -rfv $tempPath
|
||||||
|
fi
|
||||||
|
exit
|
||||||
44
off-line-shell/run.sh
Executable file
44
off-line-shell/run.sh
Executable file
@@ -0,0 +1,44 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
SHELL_FOLDER=$(cd "$(dirname "$0")";pwd)
|
||||||
|
# /opt 目录识别
|
||||||
|
option=""
|
||||||
|
for path in `ls /opt`
|
||||||
|
do
|
||||||
|
echo /opt/$path
|
||||||
|
if [[ $path != wine-staging ]]; then
|
||||||
|
# 支持识别正确的 wine
|
||||||
|
mkdir -pv "$SHELL_FOLDER/opt/$path"
|
||||||
|
option="$option --dev-bind /opt/$path /opt/$path"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
wineName=(deepin-wine
|
||||||
|
deepin-wine8-stable
|
||||||
|
deepin-wine6-stable
|
||||||
|
deepin-wine5-stable
|
||||||
|
spark-wine
|
||||||
|
spark-wine8
|
||||||
|
deepin-wine6-vannila
|
||||||
|
spark-wine7-devel
|
||||||
|
spark-wine8-wow
|
||||||
|
deepin-wine5
|
||||||
|
ukylin-wine
|
||||||
|
okylin-wine
|
||||||
|
bookworm-run
|
||||||
|
)
|
||||||
|
for i in ${wineName[*]}; do
|
||||||
|
if [[ -e /usr/bin/$i ]]; then
|
||||||
|
option="$option --dev-bind /usr/bin/$i /usr/bin/$i"
|
||||||
|
if [[ ! -e "$SHELL_FOLDER/bin/$i" ]]; then
|
||||||
|
touch "$SHELL_FOLDER/bin/$i"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
"$SHELL_FOLDER/bwrap" --dev-bind / / \
|
||||||
|
--dev-bind "$SHELL_FOLDER/opt" /opt \
|
||||||
|
--dev-bind "$SHELL_FOLDER/bin" /usr/bin \
|
||||||
|
--dev-bind "$SHELL_FOLDER/lib" /usr/lib \
|
||||||
|
--dev-bind "$SHELL_FOLDER/lib32" /usr/lib32 \
|
||||||
|
--dev-bind "$SHELL_FOLDER/lib64" /usr/lib64 \
|
||||||
|
--dev-bind /usr/lib/locale /usr/lib/locale \
|
||||||
|
$option \
|
||||||
|
$SHELL_FOLDER/runner/deepin-wine-runner
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"Version": "3.5.0",
|
"Version": "3.6.1",
|
||||||
"Time": "未知",
|
"Time": "未知",
|
||||||
"Thank": [
|
"Thank": [
|
||||||
"感性 @ёжезийлёзйз 进行 Loongarch 架构的测试(旧世界,远程)",
|
"感谢 @ёжезийлёзйз 进行 Loongarch 架构的测试(旧世界,远程)",
|
||||||
"感谢 @run@3a4k 提供 3a4000 测试机器(远程)",
|
"感谢 @run@3a4k 提供 3a4000 测试机器(远程)",
|
||||||
"感谢 RacoonGX 的付出与贡献",
|
"感谢 RacoonGX 的付出与贡献",
|
||||||
"感谢 @Amber 编写的《使用wine运行器打包无安装包的软件》:https://bbs.deepin.org/post/247720",
|
"感谢 @Amber 编写的《使用wine运行器打包无安装包的软件》:https://bbs.deepin.org/post/247720",
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# 本来是用C++写的,但在非deepin/UOS编译/运行就是下载不了https文件,只能用python重写
|
# 本来是用C++写的,但在非deepin/UOS编译/运行就是下载不了https文件,只能用python重写
|
||||||
#########################################################################
|
#########################################################################
|
||||||
# 作者:gfdgd xi、为什么您不喜欢熊出没和阿布
|
# 作者:gfdgd xi
|
||||||
# 版本:2.4.0
|
# 版本:2.4.0
|
||||||
# 感谢:感谢 deepin-wine 团队,提供了 deepin-wine 给大家使用,让我能做这个程序
|
# 感谢:感谢 deepin-wine 团队,提供了 deepin-wine 给大家使用,让我能做这个程序
|
||||||
# 基于 Python3 的 PyQt5 构建
|
# 基于 Python3 的 PyQt5 构建
|
||||||
@@ -78,9 +78,9 @@ class Ui_MainWindow(object):
|
|||||||
self.menu = MainWindow.menuBar()
|
self.menu = MainWindow.menuBar()
|
||||||
self.changeSources = self.menu.addMenu(_translate("MainWindow", "更换源"))
|
self.changeSources = self.menu.addMenu(_translate("MainWindow", "更换源"))
|
||||||
self.gitlinkAction = QtWidgets.QAction(_translate("MainWindow", "Gitee 源(推荐)"))
|
self.gitlinkAction = QtWidgets.QAction(_translate("MainWindow", "Gitee 源(推荐)"))
|
||||||
self.kgithubAction = QtWidgets.QAction(_translate("MainWindow", "Github 镜像站源"))
|
self.kgithubAction = QtWidgets.QAction(_translate("MainWindow", "Sourceforge 源"))
|
||||||
self.ipv6Action = QtWidgets.QAction(_translate("MainWindow", "Github 源1(国内访问不稳定)"))
|
self.ipv6Action = QtWidgets.QAction(_translate("MainWindow", "默认源"))
|
||||||
self.githubAction = QtWidgets.QAction(_translate("MainWindow", "Github 源2(国内访问不稳定)"))
|
self.githubAction = QtWidgets.QAction(_translate("MainWindow", "Github 源(国内访问不稳定)"))
|
||||||
|
|
||||||
self.localAction = QtWidgets.QAction(_translate("MainWindow", "本地测试源(127.0.0.1)"))
|
self.localAction = QtWidgets.QAction(_translate("MainWindow", "本地测试源(127.0.0.1)"))
|
||||||
self.changeSources.addAction(self.ipv6Action)
|
self.changeSources.addAction(self.ipv6Action)
|
||||||
@@ -314,11 +314,14 @@ def on_addButton_clicked():
|
|||||||
dialog.setWindowIcon(QtGui.QIcon(f"{programPath}/../deepin-wine-runner.svg"))
|
dialog.setWindowIcon(QtGui.QIcon(f"{programPath}/../deepin-wine-runner.svg"))
|
||||||
dialog.setCancelButton(cancel)
|
dialog.setCancelButton(cancel)
|
||||||
dialog.setWindowTitle(f"正在下载“{internetJsonList[choose][0]}”")
|
dialog.setWindowTitle(f"正在下载“{internetJsonList[choose][0]}”")
|
||||||
|
saveName = os.path.basename(internetJsonList[choose][1])
|
||||||
|
if os.path.split(os.path.basename(internetJsonList[choose][1]))[0] == "":
|
||||||
|
saveName = os.path.basename(internetJsonList[choose][0]) + ".7z"
|
||||||
QT.thread = DownloadThread(
|
QT.thread = DownloadThread(
|
||||||
dialog,
|
dialog,
|
||||||
downloadUrl,
|
downloadUrl,
|
||||||
"",
|
"",
|
||||||
os.path.basename(internetJsonList[choose][1]),
|
saveName,
|
||||||
ui.localWineList,
|
ui.localWineList,
|
||||||
ui.deleteZip.isChecked(),
|
ui.deleteZip.isChecked(),
|
||||||
not ui.unzip.isChecked(),
|
not ui.unzip.isChecked(),
|
||||||
@@ -361,12 +364,12 @@ if __name__ == "__main__":
|
|||||||
internetJsonList = []
|
internetJsonList = []
|
||||||
internetWineSourceList = [
|
internetWineSourceList = [
|
||||||
"http://wine.wine-runner.gfdgdxi.top/",
|
"http://wine.wine-runner.gfdgdxi.top/",
|
||||||
"https://githubfast.com/gfdgd-xi/wine-mirrors-websize/raw/master/",
|
"http://wine.wine-runner.gfdgdxi.top/sourceforge",
|
||||||
"https://gitee.com/gfdgd-xi/wine-mirrors-websize/raw/master/",
|
"https://gitee.com/gfdgd-xi/wine-mirrors-websize/raw/master/",
|
||||||
"https://github.com/gfdgd-xi/wine-mirrors-websize/raw/master/",
|
"https://github.com/gfdgd-xi/wine-mirrors-websize/raw/master/",
|
||||||
"http://127.0.0.1/wine-mirrors/" # 本地测试源
|
"http://127.0.0.1/wine-mirrors/" # 本地测试源
|
||||||
]
|
]
|
||||||
internetWineSource = internetWineSourceList[0]
|
|
||||||
app = QtWidgets.QApplication(sys.argv)
|
app = QtWidgets.QApplication(sys.argv)
|
||||||
# 读取翻译
|
# 读取翻译
|
||||||
if not get_now_lang() == "zh_CN.UTF-8":
|
if not get_now_lang() == "zh_CN.UTF-8":
|
||||||
@@ -379,6 +382,22 @@ if __name__ == "__main__":
|
|||||||
window.setWindowIcon(QtGui.QIcon(f"{programPath}/../deepin-wine-runner.svg"))
|
window.setWindowIcon(QtGui.QIcon(f"{programPath}/../deepin-wine-runner.svg"))
|
||||||
ui.setupUi(window)
|
ui.setupUi(window)
|
||||||
window.show()
|
window.show()
|
||||||
|
# 判断机器所在国家并自动分配源
|
||||||
|
try:
|
||||||
|
isChina = requests.get("https://ip.useragentinfo.com/json").json()["country"] == "中国"
|
||||||
|
print("IsChina", isChina)
|
||||||
|
if isChina:
|
||||||
|
internetWineSource = internetWineSourceList[0]
|
||||||
|
ui.ipv6Action.setChecked(True)
|
||||||
|
else:
|
||||||
|
internetWineSource = internetWineSourceList[1]
|
||||||
|
ui.kgithubAction.setChecked(True)
|
||||||
|
except:
|
||||||
|
traceback.print_exc()
|
||||||
|
print("IsChina", False)
|
||||||
|
# 请求失败,默认使用国际源
|
||||||
|
internetWineSource = internetWineSourceList[1]
|
||||||
|
ui.kgithubAction.setChecked(True)
|
||||||
# 连接信号
|
# 连接信号
|
||||||
ui.addButton.clicked.connect(on_addButton_clicked)
|
ui.addButton.clicked.connect(on_addButton_clicked)
|
||||||
ui.delButton.clicked.connect(on_delButton_clicked)
|
ui.delButton.clicked.connect(on_delButton_clicked)
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
[]
|
[]
|
||||||
Reference in New Issue
Block a user