mirror of
				https://gitee.com/gfdgd-xi/deep-wine-runner
				synced 2025-11-04 07:22:23 +08:00 
			
		
		
		
	优化切换的使用体验
This commit is contained in:
		
							parent
							
								
									bf18411f7a
								
							
						
					
					
						commit
						bc5aca0fd7
					
				
							
								
								
									
										0
									
								
								ConfigLanguareRunner-help.json
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								ConfigLanguareRunner-help.json
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
								
								
									
										0
									
								
								DefaultSetting.py
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								DefaultSetting.py
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
								
								
									
										0
									
								
								DisabledOpengl.reg
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								DisabledOpengl.reg
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
								
								
									
										0
									
								
								Download.py
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								Download.py
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
								
								
									
										0
									
								
								EnabledOpengl.reg
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								EnabledOpengl.reg
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
								
								
									
										0
									
								
								IconList.json
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								IconList.json
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
								
								
									
										0
									
								
								InstallDeepinWine6OnUbuntu.sh
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								InstallDeepinWine6OnUbuntu.sh
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
								
								
									
										0
									
								
								InstallDeepinWineOnUbuntu.sh
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								InstallDeepinWineOnUbuntu.sh
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
								
								
									
										3
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								Makefile
									
									
									
									
									
								
							@ -98,7 +98,7 @@ copy-files:
 | 
			
		||||
	cp -rv InstallVisualCPlusPlus.py deb/opt/apps/deepin-wine-runner
 | 
			
		||||
	cp -rv launch.sh deb/opt/apps/deepin-wine-runner
 | 
			
		||||
	cp -rv LICENSE deb/opt/apps/deepin-wine-runner
 | 
			
		||||
	cp -rv mainwindow.py deb/opt/apps/deepin-wine-runner/deepin-wine-runner
 | 
			
		||||
	cp -rv mainwindow.py deb/opt/apps/deepin-wine-runner/
 | 
			
		||||
	cp -rv package-script.zip deb/opt/apps/deepin-wine-runner
 | 
			
		||||
	cp -rv Run.bat deb/opt/apps/deepin-wine-runner
 | 
			
		||||
	cp -rv RunVM.sh deb/opt/apps/deepin-wine-runner
 | 
			
		||||
@ -139,6 +139,7 @@ copy-files:
 | 
			
		||||
	cp -rv globalenv.py   deb/opt/apps/deepin-wine-runner
 | 
			
		||||
	cp -rv local   deb/opt/apps/deepin-wine-runner
 | 
			
		||||
	cp -rv WindowModule.py deb/opt/apps/deepin-wine-runner
 | 
			
		||||
	cp -rv main.py deb/opt/apps/deepin-wine-runner/deepin-wine-runner
 | 
			
		||||
	mkdir -pv deb/opt/apps/deepin-wine-runner/entries/
 | 
			
		||||
	cp -rv deb/usr/share/applications deb/opt/apps/deepin-wine-runner/entries/applications
 | 
			
		||||
	python3 UpdateTime.py
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										0
									
								
								README_en.md
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								README_en.md
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
								
								
									
										0
									
								
								RunCommandWithTerminal.py
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								RunCommandWithTerminal.py
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
								
								
									
										0
									
								
								UpdateTime.py
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								UpdateTime.py
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
								
								
									
										0
									
								
								WindowModule.py
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								WindowModule.py
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							@ -750,13 +750,13 @@ try:
 | 
			
		||||
    exePath.setText(sys.argv[1])
 | 
			
		||||
except:
 | 
			
		||||
    pass
 | 
			
		||||
if (__name__ != "__main__"):
 | 
			
		||||
'''if (__name__ != "__main__"):
 | 
			
		||||
    # 设置滚动条
 | 
			
		||||
    areaScroll = QtWidgets.QScrollArea(window)
 | 
			
		||||
    areaScroll.setWidgetResizable(True)
 | 
			
		||||
    areaScroll.setWidget(widget)
 | 
			
		||||
    areaScroll.setFrameShape(QtWidgets.QFrame.NoFrame)
 | 
			
		||||
    window.setCentralWidget(areaScroll)
 | 
			
		||||
    window.setCentralWidget(areaScroll)'''
 | 
			
		||||
 | 
			
		||||
if (__name__ == "__main__"):
 | 
			
		||||
    window.resize(int(window.frameGeometry().width() * 1.2), int(window.frameGeometry().height() * 1.1))
 | 
			
		||||
 | 
			
		||||
@ -1694,8 +1694,7 @@ SetFont(app)
 | 
			
		||||
window.setCentralWidget(widget)
 | 
			
		||||
# 判断是否为小屏幕,是则设置滚动条并全屏
 | 
			
		||||
if (window.frameGeometry().width() > app.primaryScreen().availableGeometry().size().width() * 0.8 or 
 | 
			
		||||
   window.frameGeometry().height() > app.primaryScreen().availableGeometry().size().height() * 0.9 or
 | 
			
		||||
   __name__ != "__main__"):
 | 
			
		||||
   window.frameGeometry().height() > app.primaryScreen().availableGeometry().size().height() * 0.9):
 | 
			
		||||
    # 设置滚动条
 | 
			
		||||
    areaScroll = QtWidgets.QScrollArea(window)
 | 
			
		||||
    areaScroll.setWidgetResizable(True)
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										0
									
								
								deepin-wine-runner_512x512.png
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								deepin-wine-runner_512x512.png
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							| 
		 Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 34 KiB  | 
							
								
								
									
										0
									
								
								globalenv.py
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								globalenv.py
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
								
								
									
										0
									
								
								information.json
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								information.json
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
								
								
									
										50
									
								
								main.py
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										50
									
								
								main.py
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							@ -1,12 +1,27 @@
 | 
			
		||||
#!/usr/bin/env python3
 | 
			
		||||
#   库的引用
 | 
			
		||||
import PyQt5.QtWidgets as QtWidgets
 | 
			
		||||
import PyQt5.QtGui as QtGui
 | 
			
		||||
import PyQt5.QtCore as QtCore
 | 
			
		||||
 | 
			
		||||
import os
 | 
			
		||||
import json
 | 
			
		||||
import sys
 | 
			
		||||
import WindowModule
 | 
			
		||||
import welcome
 | 
			
		||||
 | 
			
		||||
# 读取文本文档
 | 
			
		||||
def readtxt(path):
 | 
			
		||||
    f = open(path, "r") # 设置文件对象
 | 
			
		||||
    str = f.read()  # 获取内容
 | 
			
		||||
    f.close()  # 关闭文本对象
 | 
			
		||||
    return str  # 返回结果
 | 
			
		||||
 | 
			
		||||
def ProgramVersion():
 | 
			
		||||
    programPath = os.path.split(os.path.realpath(__file__))[0]  # 返回 string
 | 
			
		||||
    information = json.loads(readtxt(f"{programPath}/information.json"))
 | 
			
		||||
    return information["Version"]
 | 
			
		||||
 | 
			
		||||
#   创建界面
 | 
			
		||||
class Window(QtWidgets.QWidget):
 | 
			
		||||
    moduleMapList = {}
 | 
			
		||||
@ -21,7 +36,7 @@ class Window(QtWidgets.QWidget):
 | 
			
		||||
 | 
			
		||||
    def initUI(self):
 | 
			
		||||
        self.setMinimumSize(800, 600)
 | 
			
		||||
        self.setWindowTitle("增减测试")
 | 
			
		||||
        self.setWindowTitle("Wine 运行器 {}".format(ProgramVersion()))
 | 
			
		||||
        self.mainLayout = QtWidgets.QHBoxLayout()
 | 
			
		||||
        self.setLayout(self.mainLayout)
 | 
			
		||||
 | 
			
		||||
@ -29,11 +44,12 @@ class Window(QtWidgets.QWidget):
 | 
			
		||||
        self.leftWidget = LeftWidget()
 | 
			
		||||
        self.mainLayout.addWidget(self.leftWidget)
 | 
			
		||||
 | 
			
		||||
        time = 0
 | 
			
		||||
        for i in WindowModule.moduleNameList.keys():
 | 
			
		||||
            self.moduleMapList[self.leftWidget.actionList[i].text()] = [i, WindowModule.moduleNameList[i]["Name"]]
 | 
			
		||||
            self.leftWidget.actionList[i].triggered.connect(lambda: self.add(self.sender().text()))
 | 
			
		||||
 | 
			
		||||
        self.leftWidget.btn4.clicked.connect(self.delCurrent)
 | 
			
		||||
        #self.leftWidget.btn4.clicked.connect(self.delCurrent)
 | 
			
		||||
        self.leftWidget.list1.itemClicked.connect(self.switchWidget)
 | 
			
		||||
 | 
			
		||||
        #   右侧区域
 | 
			
		||||
@ -42,6 +58,13 @@ class Window(QtWidgets.QWidget):
 | 
			
		||||
 | 
			
		||||
        self.addWelcome()
 | 
			
		||||
 | 
			
		||||
        # 判断运行器是否为第一次打开,如果不是则默认切换至 Wine 运行器主窗口
 | 
			
		||||
        # 默认为列表里的第一个控件
 | 
			
		||||
        if (os.path.exists(get_home() + "/.config/deepin-wine-runner")):
 | 
			
		||||
            self.add(self.leftWidget.actionList[list(WindowModule.moduleNameList.keys())[0]].text())
 | 
			
		||||
        self.ConfigureConfigFile()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    #   新增欢迎界面
 | 
			
		||||
    def addWelcome(self):
 | 
			
		||||
        self.newTab = "欢迎页面"
 | 
			
		||||
@ -52,7 +75,7 @@ class Window(QtWidgets.QWidget):
 | 
			
		||||
        self.rightWidget.addWidget(self.newWidget)
 | 
			
		||||
 | 
			
		||||
    #   新增界面
 | 
			
		||||
    def add(self, actionName):
 | 
			
		||||
    def add(self, actionName: str):
 | 
			
		||||
        self.newInfo = "{}#{}".format(self.moduleMapList[actionName][1], self.counter_a)
 | 
			
		||||
        self.newTab = ItemWidget(self.newInfo)
 | 
			
		||||
        self.newTab.btn.clicked.connect(self.delCurrent)
 | 
			
		||||
@ -104,6 +127,13 @@ class Window(QtWidgets.QWidget):
 | 
			
		||||
        if self.row != 0:
 | 
			
		||||
            self.leftWidget.list1.currentItem().btnEnable()
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
    def ConfigureConfigFile(self):
 | 
			
		||||
        if not os.path.exists(get_home() + "/.config/"):  # 如果没有配置文件夹
 | 
			
		||||
            os.mkdir(get_home() + "/.config/")  # 创建配置文件夹
 | 
			
		||||
        if not os.path.exists(get_home() + "/.config/deepin-wine-runner"):  # 如果没有配置文件夹
 | 
			
		||||
            os.mkdir(get_home() + "/.config/deepin-wine-runner")  # 创建配置文件夹
 | 
			
		||||
        
 | 
			
		||||
#   左侧区域
 | 
			
		||||
class LeftWidget(QtWidgets.QWidget):
 | 
			
		||||
    actionList = {}
 | 
			
		||||
@ -118,8 +148,7 @@ class LeftWidget(QtWidgets.QWidget):
 | 
			
		||||
        self.setLayout(self.mainLayout)
 | 
			
		||||
 | 
			
		||||
        #   左侧标题
 | 
			
		||||
        self.lab1 = QtWidgets.QLabel("页面导航区")
 | 
			
		||||
        self.lab1.setStyleSheet("font-size:20px")
 | 
			
		||||
        self.lab1 = QtWidgets.QLabel("<h3>页面导航区</h3>")
 | 
			
		||||
        self.mainLayout.addWidget(self.lab1)
 | 
			
		||||
 | 
			
		||||
        #   新建页面面按钮
 | 
			
		||||
@ -138,8 +167,8 @@ class LeftWidget(QtWidgets.QWidget):
 | 
			
		||||
        self.mainLayout.addWidget(self.list1)
 | 
			
		||||
 | 
			
		||||
        #   删_页面按钮
 | 
			
		||||
        self.btn4 = QtWidgets.QPushButton("删除_本页面")
 | 
			
		||||
        self.mainLayout.addWidget(self.btn4)
 | 
			
		||||
        #self.btn4 = QtWidgets.QPushButton("删除本页面")
 | 
			
		||||
        #self.mainLayout.addWidget(self.btn4)
 | 
			
		||||
 | 
			
		||||
#   列表项目组件
 | 
			
		||||
class ItemWidget(QtWidgets.QListWidgetItem):
 | 
			
		||||
@ -161,7 +190,7 @@ class ItemWidget(QtWidgets.QListWidgetItem):
 | 
			
		||||
 | 
			
		||||
        #   关闭按钮
 | 
			
		||||
        self.btn = QtWidgets.QPushButton("x")
 | 
			
		||||
        self.btn.setMaximumWidth(20)
 | 
			
		||||
        #self.btn.setMaximumWidth(20)
 | 
			
		||||
        self.btn.setEnabled(False)
 | 
			
		||||
        self.mainLayout.addWidget(self.btn)
 | 
			
		||||
 | 
			
		||||
@ -181,9 +210,14 @@ class RightWidget(QtWidgets.QStackedWidget):
 | 
			
		||||
 | 
			
		||||
    #def initUI(self):
 | 
			
		||||
 | 
			
		||||
# 获取用户主目录
 | 
			
		||||
def get_home():
 | 
			
		||||
    return os.path.expanduser('~')
 | 
			
		||||
 | 
			
		||||
#   运行程序
 | 
			
		||||
if __name__ == "__main__":
 | 
			
		||||
    app = QtWidgets.QApplication(sys.argv)
 | 
			
		||||
    mainWindow = Window()
 | 
			
		||||
    mainWindow.show()
 | 
			
		||||
    mainWindow.resize(int(mainWindow.geometry().width() * 1.2), int(mainWindow.geometry().height() * 1.2))
 | 
			
		||||
    sys.exit(app.exec())
 | 
			
		||||
@ -3360,8 +3360,7 @@ window.setCentralWidget(widget)
 | 
			
		||||
# 判断是否为小屏幕,是则设置滚动条并全屏
 | 
			
		||||
# 获取为 import 为控件,也默认开启滚动条
 | 
			
		||||
if (window.frameGeometry().width() > app.primaryScreen().availableGeometry().size().width() * 0.8 or 
 | 
			
		||||
   window.frameGeometry().height() > app.primaryScreen().availableGeometry().size().height() * 0.9 or
 | 
			
		||||
   __name__ != "__main__"):
 | 
			
		||||
   window.frameGeometry().height() > app.primaryScreen().availableGeometry().size().height() * 0.9):
 | 
			
		||||
    # 设置滚动条
 | 
			
		||||
    areaScroll = QtWidgets.QScrollArea(window)
 | 
			
		||||
    areaScroll.setWidgetResizable(True)
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										0
									
								
								vkd3d-proton.7z
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								vkd3d-proton.7z
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
								
								
									
										5
									
								
								welcome.py
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										5
									
								
								welcome.py
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							@ -17,8 +17,7 @@ class WinWelcome(QtWidgets.QWidget):
 | 
			
		||||
        self.setLayout(self.mainLayout)
 | 
			
		||||
 | 
			
		||||
        #   标签1
 | 
			
		||||
        self.lab1 = QtWidgets.QLabel("欢迎使用Wine运行器!")
 | 
			
		||||
        self.lab1.setStyleSheet("font-size:20px")
 | 
			
		||||
        self.lab1 = QtWidgets.QLabel("<h3>欢迎使用Wine运行器!</h3>")
 | 
			
		||||
        self.mainLayout.addWidget(self.lab1)
 | 
			
		||||
 | 
			
		||||
        #   文本栏
 | 
			
		||||
@ -28,7 +27,7 @@ class WinWelcome(QtWidgets.QWidget):
 | 
			
		||||
        self.mainLayout.addWidget(self.txt)
 | 
			
		||||
        
 | 
			
		||||
        #   标签2
 | 
			
		||||
        self.lab2 = QtWidgets.QLabel("请根据您的需求,在左下角打开相应页面")
 | 
			
		||||
        self.lab2 = QtWidgets.QLabel("请根据您的需求,在左侧打开相应页面")
 | 
			
		||||
        self.mainLayout.addWidget(self.lab2)
 | 
			
		||||
 | 
			
		||||
#   测试界面
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										0
									
								
								wineautobuild-action-7z-aarch64-daily.sh
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								wineautobuild-action-7z-aarch64-daily.sh
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
								
								
									
										0
									
								
								wineautobuild-action-7z-aarch64.sh
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								wineautobuild-action-7z-aarch64.sh
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
								
								
									
										0
									
								
								wineautobuild-action-7z-daily.sh
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								wineautobuild-action-7z-daily.sh
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
								
								
									
										0
									
								
								wineautobuild-action-7z-wow64-daily.sh
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								wineautobuild-action-7z-wow64-daily.sh
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
								
								
									
										0
									
								
								wineautobuild-action-7z-wow64.sh
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								wineautobuild-action-7z-wow64.sh
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
								
								
									
										0
									
								
								wineautobuild-action-7z.sh
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								wineautobuild-action-7z.sh
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
								
								
									
										0
									
								
								wineautobuild-action-debian9.sh
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								wineautobuild-action-debian9.sh
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
								
								
									
										0
									
								
								wineautobuild-action.sh
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								wineautobuild-action.sh
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
								
								
									
										0
									
								
								winelist.json
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								winelist.json
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
								
								
									
										0
									
								
								其他Windows无法正常创建虚拟机的问题
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										0
									
								
								其他Windows无法正常创建虚拟机的问题
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user