gui
This commit is contained in:
51
gx-env-run-gui
Normal file
51
gx-env-run-gui
Normal file
@@ -0,0 +1,51 @@
|
||||
#!/usr/bin/env python3
|
||||
import os
|
||||
import sys
|
||||
import PyQt5.QtWidgets as QtWidgets
|
||||
|
||||
def RunProgram():
|
||||
window.hide()
|
||||
if os.system("which gx-env-run"):
|
||||
QtWidgets.QMessageBox.critical(window, "错误", "gx-env-run 不存在!")
|
||||
return
|
||||
if runProgramWithRoot.isChecked():
|
||||
if os.getenv("HOME") + "/.config/gx-env/bwrap":
|
||||
envDist = os.environ
|
||||
envSet = "DISPLAY=$DISPLAY "
|
||||
for i in envDist:
|
||||
envSet += "{}=${} ".format(i, i)
|
||||
os.system("pkexec env " + envSet + " gx-env-run " + programPath.text())
|
||||
return
|
||||
else:
|
||||
os.system("gx-env-run-root " + programPath.text())
|
||||
return
|
||||
os.system("gx-env-run " + programPath.text())
|
||||
sys.exit(0)
|
||||
|
||||
app = QtWidgets.QApplication(sys.argv)
|
||||
window = QtWidgets.QMainWindow()
|
||||
widget = QtWidgets.QWidget()
|
||||
layout = QtWidgets.QGridLayout()
|
||||
|
||||
programPath = QtWidgets.QLineEdit()
|
||||
browser = QtWidgets.QPushButton("浏览……")
|
||||
runProgramWithRoot = QtWidgets.QCheckBox("以 root 权限运行应用")
|
||||
layout.addWidget(QtWidgets.QLabel("""你可以在兼容模式下运行程序"""), 0, 0, 1, 4)
|
||||
layout.addWidget(QtWidgets.QLabel("程序路径:"), 1, 0)
|
||||
layout.addWidget(programPath, 1, 1, 1, 3)
|
||||
#layout.addWidget(browser, 1, 3)
|
||||
|
||||
controlLayout = QtWidgets.QHBoxLayout()
|
||||
cancelButton = QtWidgets.QPushButton("取消")
|
||||
okButton = QtWidgets.QPushButton("确定")
|
||||
okButton.clicked.connect(RunProgram)
|
||||
controlLayout.addWidget(runProgramWithRoot)
|
||||
controlLayout.addWidget(browser)
|
||||
controlLayout.addWidget(cancelButton)
|
||||
controlLayout.addWidget(okButton)
|
||||
layout.addLayout(controlLayout, 2, 2, 1, 2)
|
||||
|
||||
widget.setLayout(layout)
|
||||
window.setCentralWidget(widget)
|
||||
window.show()
|
||||
sys.exit(app.exec_())
|
||||
Reference in New Issue
Block a user