Обработка значения QCheckBox по нажатию на кнопку и запуск внешних программ
Помогите осуществить проверку состояния QCheckBox по нажатию кнопки Install,
так чтобы по нажатию на кнопку запустились отмеченные программы.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(762, 217)
MainWindow.setStyleSheet("background-color: rgb(85, 170, 127);")
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setStyleSheet("background-color: rgb(0, 0, 0);")
self.centralwidget.setObjectName("centralwidget")
self.Chrome = QtWidgets.QCheckBox(self.centralwidget)
self.Chrome.setGeometry(QtCore.QRect(10, 10, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.Chrome.setFont(font)
self.Chrome.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.Chrome.setObjectName("Chrome")
self.Yandex = QtWidgets.QCheckBox(self.centralwidget)
self.Yandex.setGeometry(QtCore.QRect(10, 30, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.Yandex.setFont(font)
self.Yandex.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.Yandex.setObjectName("Yandex")
self.FireFox = QtWidgets.QCheckBox(self.centralwidget)
self.FireFox.setGeometry(QtCore.QRect(10, 50, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.FireFox.setFont(font)
self.FireFox.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.FireFox.setObjectName("FireFox")
self.Opera = QtWidgets.QCheckBox(self.centralwidget)
self.Opera.setGeometry(QtCore.QRect(10, 70, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.Opera.setFont(font)
self.Opera.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.Opera.setObjectName("Opera")
self.OperaGX = QtWidgets.QCheckBox(self.centralwidget)
self.OperaGX.setGeometry(QtCore.QRect(10, 90, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.OperaGX.setFont(font)
self.OperaGX.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.OperaGX.setObjectName("OperaGX")
self.Edge = QtWidgets.QCheckBox(self.centralwidget)
self.Edge.setGeometry(QtCore.QRect(10, 110, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.Edge.setFont(font)
self.Edge.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.Edge.setObjectName("Edge")
self.Vivaldi = QtWidgets.QCheckBox(self.centralwidget)
self.Vivaldi.setGeometry(QtCore.QRect(10, 130, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.Vivaldi.setFont(font)
self.Vivaldi.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.Vivaldi.setObjectName("Vivaldi")
self.uTorrent = QtWidgets.QCheckBox(self.centralwidget)
self.uTorrent.setGeometry(QtCore.QRect(10, 150, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.uTorrent.setFont(font)
self.uTorrent.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.uTorrent.setObjectName("uTorrent")
self.qBitTorrent = QtWidgets.QCheckBox(self.centralwidget)
self.qBitTorrent.setGeometry(QtCore.QRect(10, 170, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.qBitTorrent.setFont(font)
self.qBitTorrent.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.qBitTorrent.setObjectName("qBitTorrent")
self.Transmission = QtWidgets.QCheckBox(self.centralwidget)
self.Transmission.setGeometry(QtCore.QRect(10, 190, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.Transmission.setFont(font)
self.Transmission.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.Transmission.setObjectName("Transmission")
self.LibreOffice = QtWidgets.QCheckBox(self.centralwidget)
self.LibreOffice.setGeometry(QtCore.QRect(140, 30, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.LibreOffice.setFont(font)
self.LibreOffice.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.LibreOffice.setObjectName("LibreOffice")
self.NotePad = QtWidgets.QCheckBox(self.centralwidget)
self.NotePad.setGeometry(QtCore.QRect(140, 90, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.NotePad.setFont(font)
self.NotePad.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.NotePad.setObjectName("NotePad")
self.winRAR = QtWidgets.QCheckBox(self.centralwidget)
self.winRAR.setGeometry(QtCore.QRect(140, 190, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.winRAR.setFont(font)
self.winRAR.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.winRAR.setObjectName("winRAR")
self.Thony = QtWidgets.QCheckBox(self.centralwidget)
self.Thony.setGeometry(QtCore.QRect(140, 130, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.Thony.setFont(font)
self.Thony.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.Thony.setObjectName("Thony")
self.Atom = QtWidgets.QCheckBox(self.centralwidget)
self.Atom.setGeometry(QtCore.QRect(140, 50, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.Atom.setFont(font)
self.Atom.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.Atom.setObjectName("Atom")
self.Zip = QtWidgets.QCheckBox(self.centralwidget)
self.Zip.setGeometry(QtCore.QRect(140, 170, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.Zip.setFont(font)
self.Zip.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.Zip.setObjectName("Zip")
self.MicrosoftOffice = QtWidgets.QCheckBox(self.centralwidget)
self.MicrosoftOffice.setGeometry(QtCore.QRect(140, 10, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.MicrosoftOffice.setFont(font)
self.MicrosoftOffice.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.MicrosoftOffice.setObjectName("MicrosoftOffice")
self.Gvim = QtWidgets.QCheckBox(self.centralwidget)
self.Gvim.setGeometry(QtCore.QRect(140, 70, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.Gvim.setFont(font)
self.Gvim.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.Gvim.setObjectName("Gvim")
self.VSCode = QtWidgets.QCheckBox(self.centralwidget)
self.VSCode.setGeometry(QtCore.QRect(140, 150, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.VSCode.setFont(font)
self.VSCode.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.VSCode.setObjectName("VSCode")
self.SublimeText = QtWidgets.QCheckBox(self.centralwidget)
self.SublimeText.setGeometry(QtCore.QRect(140, 110, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.SublimeText.setFont(font)
self.SublimeText.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.SublimeText.setObjectName("SublimeText")
self.Everything = QtWidgets.QCheckBox(self.centralwidget)
self.Everything.setGeometry(QtCore.QRect(270, 30, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.Everything.setFont(font)
self.Everything.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.Everything.setObjectName("Everything")
self.Windirstat = QtWidgets.QCheckBox(self.centralwidget)
self.Windirstat.setGeometry(QtCore.QRect(270, 90, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.Windirstat.setFont(font)
self.Windirstat.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.Windirstat.setObjectName("Windirstat")
self.AnvirTM = QtWidgets.QCheckBox(self.centralwidget)
self.AnvirTM.setGeometry(QtCore.QRect(270, 190, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.AnvirTM.setFont(font)
self.AnvirTM.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.AnvirTM.setObjectName("AnvirTM")
self.InfoCD = QtWidgets.QCheckBox(self.centralwidget)
self.InfoCD.setGeometry(QtCore.QRect(270, 130, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.InfoCD.setFont(font)
self.InfoCD.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.InfoCD.setObjectName("InfoCD")
self.LockHunter = QtWidgets.QCheckBox(self.centralwidget)
self.LockHunter.setGeometry(QtCore.QRect(270, 50, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.LockHunter.setFont(font)
self.LockHunter.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.LockHunter.setObjectName("LockHunter")
self.AIDA64 = QtWidgets.QCheckBox(self.centralwidget)
self.AIDA64.setGeometry(QtCore.QRect(270, 170, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.AIDA64.setFont(font)
self.AIDA64.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.AIDA64.setObjectName("AIDA64")
self.CDbxp = QtWidgets.QCheckBox(self.centralwidget)
self.CDbxp.setGeometry(QtCore.QRect(270, 10, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.CDbxp.setFont(font)
self.CDbxp.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.CDbxp.setObjectName("CDbxp")
self.Unlocker = QtWidgets.QCheckBox(self.centralwidget)
self.Unlocker.setGeometry(QtCore.QRect(270, 70, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.Unlocker.setFont(font)
self.Unlocker.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.Unlocker.setObjectName("Unlocker")
self.MarkCD = QtWidgets.QCheckBox(self.centralwidget)
self.MarkCD.setGeometry(QtCore.QRect(270, 150, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.MarkCD.setFont(font)
self.MarkCD.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.MarkCD.setObjectName("MarkCD")
self.HDTunePro = QtWidgets.QCheckBox(self.centralwidget)
self.HDTunePro.setGeometry(QtCore.QRect(270, 110, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.HDTunePro.setFont(font)
self.HDTunePro.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.HDTunePro.setObjectName("HDTunePro")
self.CpuZ = QtWidgets.QCheckBox(self.centralwidget)
self.CpuZ.setGeometry(QtCore.QRect(400, 30, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.CpuZ.setFont(font)
self.CpuZ.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.CpuZ.setObjectName("CpuZ")
self.AIMP = QtWidgets.QCheckBox(self.centralwidget)
self.AIMP.setGeometry(QtCore.QRect(400, 90, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.AIMP.setFont(font)
self.AIMP.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.AIMP.setObjectName("AIMP")
self.Gimp = QtWidgets.QCheckBox(self.centralwidget)
self.Gimp.setGeometry(QtCore.QRect(400, 190, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.Gimp.setFont(font)
self.Gimp.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.Gimp.setObjectName("Gimp")
self.KMPlayer = QtWidgets.QCheckBox(self.centralwidget)
self.KMPlayer.setGeometry(QtCore.QRect(400, 130, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.KMPlayer.setFont(font)
self.KMPlayer.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.KMPlayer.setObjectName("KMPlayer")
self.GpuZ = QtWidgets.QCheckBox(self.centralwidget)
self.GpuZ.setGeometry(QtCore.QRect(400, 50, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.GpuZ.setFont(font)
self.GpuZ.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.GpuZ.setObjectName("GpuZ")
self.VLC = QtWidgets.QCheckBox(self.centralwidget)
self.VLC.setGeometry(QtCore.QRect(400, 170, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.VLC.setFont(font)
self.VLC.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.VLC.setObjectName("VLC")
self.CoreTemp = QtWidgets.QCheckBox(self.centralwidget)
self.CoreTemp.setGeometry(QtCore.QRect(400, 10, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.CoreTemp.setFont(font)
self.CoreTemp.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.CoreTemp.setObjectName("CoreTemp")
self.MSIAfterburner = QtWidgets.QCheckBox(self.centralwidget)
self.MSIAfterburner.setGeometry(QtCore.QRect(400, 70, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.MSIAfterburner.setFont(font)
self.MSIAfterburner.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.MSIAfterburner.setObjectName("MSIAfterburner")
self.Lightshot = QtWidgets.QCheckBox(self.centralwidget)
self.Lightshot.setGeometry(QtCore.QRect(400, 150, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.Lightshot.setFont(font)
self.Lightshot.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.Lightshot.setObjectName("Lightshot")
self.CyberLink = QtWidgets.QCheckBox(self.centralwidget)
self.CyberLink.setGeometry(QtCore.QRect(400, 110, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.CyberLink.setFont(font)
self.CyberLink.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.CyberLink.setObjectName("CyberLink")
self.DriverBooster = QtWidgets.QCheckBox(self.centralwidget)
self.DriverBooster.setGeometry(QtCore.QRect(530, 30, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.DriverBooster.setFont(font)
self.DriverBooster.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.DriverBooster.setObjectName("DriverBooster")
self.MiniBin = QtWidgets.QCheckBox(self.centralwidget)
self.MiniBin.setGeometry(QtCore.QRect(530, 90, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.MiniBin.setFont(font)
self.MiniBin.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.MiniBin.setObjectName("MiniBin")
self.VNCServer = QtWidgets.QCheckBox(self.centralwidget)
self.VNCServer.setGeometry(QtCore.QRect(530, 130, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.VNCServer.setFont(font)
self.VNCServer.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.VNCServer.setObjectName("VNCServer")
self.DriverHub = QtWidgets.QCheckBox(self.centralwidget)
self.DriverHub.setGeometry(QtCore.QRect(530, 50, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.DriverHub.setFont(font)
self.DriverHub.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.DriverHub.setObjectName("DriverHub")
self.XrecodeIII = QtWidgets.QCheckBox(self.centralwidget)
self.XrecodeIII.setGeometry(QtCore.QRect(530, 10, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.XrecodeIII.setFont(font)
self.XrecodeIII.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.XrecodeIII.setObjectName("XrecodeIII")
self.EarThumpet = QtWidgets.QCheckBox(self.centralwidget)
self.EarThumpet.setGeometry(QtCore.QRect(530, 70, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.EarThumpet.setFont(font)
self.EarThumpet.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.EarThumpet.setObjectName("EarThumpet")
self.__ = QtWidgets.QCheckBox(self.centralwidget)
self.__.setGeometry(QtCore.QRect(530, 150, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.__.setFont(font)
self.__.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.__.setObjectName("__")
self.TimeER = QtWidgets.QCheckBox(self.centralwidget)
self.TimeER.setGeometry(QtCore.QRect(530, 110, 96, 17))
font = QtGui.QFont()
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
self.TimeER.setFont(font)
self.TimeER.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
self.TimeER.setObjectName("TimeER")
self.Development = QtWidgets.QPushButton(self.centralwidget)
self.Development.setGeometry(QtCore.QRect(670, 10, 81, 23))
font = QtGui.QFont()
font.setBold(True)
font.setWeight(75)
self.Development.setFont(font)
self.Development.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(124, 252, 0);")
self.Development.setObjectName("Development")
self.Libraries = QtWidgets.QPushButton(self.centralwidget)
self.Libraries.setGeometry(QtCore.QRect(690, 40, 61, 23))
font = QtGui.QFont()
font.setBold(True)
font.setWeight(75)
self.Libraries.setFont(font)
self.Libraries.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(124, 252, 0);")
self.Libraries.setObjectName("Libraries")
self.View = QtWidgets.QPushButton(self.centralwidget)
self.View.setGeometry(QtCore.QRect(720, 70, 31, 23))
font = QtGui.QFont()
font.setBold(True)
font.setWeight(75)
self.View.setFont(font)
self.View.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(124, 252, 0);")
self.View.setObjectName("View")
self.Install = QtWidgets.QPushButton(self.centralwidget)
self.Install.setGeometry(QtCore.QRect(710, 190, 41, 23))
font = QtGui.QFont()
font.setItalic(True)
self.Install.setFont(font)
self.Install.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(255, 215, 0);")
self.Install.setObjectName("Install")
self.SPforPC = QtWidgets.QPushButton(self.centralwidget)
self.SPforPC.setGeometry(QtCore.QRect(700, 160, 51, 23))
font = QtGui.QFont()
font.setItalic(True)
self.SPforPC.setFont(font)
self.SPforPC.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(240, 230, 140);")
self.SPforPC.setObjectName("SPforPC")
self.SPforNoteBook = QtWidgets.QPushButton(self.centralwidget)
self.SPforNoteBook.setGeometry(QtCore.QRect(660, 130, 91, 23))
font = QtGui.QFont()
font.setItalic(True)
self.SPforNoteBook.setFont(font)
self.SPforNoteBook.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(240, 230, 140);")
self.SPforNoteBook.setObjectName("SPforNoteBook")
MainWindow.setCentralWidget(self.centralwidget)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.Chrome.setText(_translate("MainWindow", "Chrome"))
self.Yandex.setText(_translate("MainWindow", "Yandex"))
self.FireFox.setText(_translate("MainWindow", "FireFox"))
self.Opera.setText(_translate("MainWindow", "Opera"))
self.OperaGX.setText(_translate("MainWindow", "OperaGX"))
self.Edge.setText(_translate("MainWindow", "Edge"))
self.Vivaldi.setText(_translate("MainWindow", "Vivaldi"))
self.uTorrent.setText(_translate("MainWindow", "uTorrent"))
self.qBitTorrent.setText(_translate("MainWindow", "qBitTorrent"))
self.Transmission.setText(_translate("MainWindow", "Transmission"))
self.LibreOffice.setText(_translate("MainWindow", "LibreOffice"))
self.NotePad.setText(_translate("MainWindow", "NotePad++"))
self.winRAR.setText(_translate("MainWindow", "winRAR"))
self.Thony.setText(_translate("MainWindow", "Thony"))
self.Atom.setText(_translate("MainWindow", "Atom"))
self.Zip.setText(_translate("MainWindow", "7zip"))
self.MicrosoftOffice.setText(_translate("MainWindow", "MicrosoftOffce"))
self.Gvim.setText(_translate("MainWindow", "Gvim"))
self.VSCode.setText(_translate("MainWindow", "VSCode"))
self.SublimeText.setText(_translate("MainWindow", "SublimeText"))
self.Everything.setText(_translate("MainWindow", "Everything"))
self.Windirstat.setText(_translate("MainWindow", "Windirstat"))
self.AnvirTM.setText(_translate("MainWindow", "AnvirTM"))
self.InfoCD.setText(_translate("MainWindow", "InfoCD"))
self.LockHunter.setText(_translate("MainWindow", "LockHunter"))
self.AIDA64.setText(_translate("MainWindow", "AIDA64"))
self.CDbxp.setText(_translate("MainWindow", "CDbxp"))
self.Unlocker.setText(_translate("MainWindow", "Unlocker"))
self.MarkCD.setText(_translate("MainWindow", "MarkCD"))
self.HDTunePro.setText(_translate("MainWindow", "HDTunePro"))
self.CpuZ.setText(_translate("MainWindow", "CpuZ"))
self.AIMP.setText(_translate("MainWindow", "AIMP"))
self.Gimp.setText(_translate("MainWindow", "Gimp"))
self.KMPlayer.setText(_translate("MainWindow", "KMPlayer"))
self.GpuZ.setText(_translate("MainWindow", "GpuZ"))
self.VLC.setText(_translate("MainWindow", "VLC"))
self.CoreTemp.setText(_translate("MainWindow", "CoreTemp"))
self.MSIAfterburner.setText(_translate("MainWindow", "MSIAfterburner"))
self.Lightshot.setText(_translate("MainWindow", "Lightshot"))
self.CyberLink.setText(_translate("MainWindow", "CyberLink"))
self.DriverBooster.setText(_translate("MainWindow", "DriverBooster"))
self.MiniBin.setText(_translate("MainWindow", "MiniBin"))
self.VNCServer.setText(_translate("MainWindow", "VNCServer"))
self.DriverHub.setText(_translate("MainWindow", "DriverHub"))
self.XrecodeIII.setText(_translate("MainWindow", "Xrecode III"))
self.EarThumpet.setText(_translate("MainWindow", "EarTrumpet"))
self.__.setText(_translate("MainWindow", "FileConverter"))
self.TimeER.setText(_translate("MainWindow", "TimeER"))
self.Development.setText(_translate("MainWindow", "Development"))
self.Libraries.setText(_translate("MainWindow", "Libraries"))
self.View.setText(_translate("MainWindow", "View"))
self.Install.setText(_translate("MainWindow", "Install"))
self.SPforPC.setText(_translate("MainWindow", "SP for PC"))
self.SPforNoteBook.setText(_translate("MainWindow", "SP for NoteBook"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
Ответы (2 шт):
Автор решения: n1tr0xs
→ Ссылка
Можно создать список QCheckBox и, пробежавшись по нему, запускать выбранные программы, словарь вида QCheckBox: str:
def setupUi(self, MainWindow):
# тут ваш код
self.checkBoxes = [self.Lightshot, self.CoreTemp, ...]
self.checkBox_CMD = {
self.Lightshot: 'lightshot.exe',
self.CoreTemp: 'coretemp.exe',
...
}
self.Install.clicked.connect(self.start_installation) # если нажали кнопку - запускаем установку
def start_installation(self):
for box in self.checkBoxes:
if box.isChecked():
os.system(self.checkBox_CMD[box])
Автор решения: S. Nick
→ Ссылка
Sorry, ваша форма занимает много места и вы не используете менеджеры компоновки, поэтому я ее упростил.
Класс QProcess используется для запуска внешних программ и взаимодействия с ними.
Попробуйте мое предложение, но над ним надо будет еще поработать.
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.Qt import *
class MainWindow(QMainWindow): # , Ui_MainWindow):
def __init__(self):
super().__init__()
# self.setupUi(self)
self.centralwidget = QWidget()
self.centralwidget.setObjectName("centralwidget")
self.centralwidget.setStyleSheet("background-color: rgb(0, 0, 0);")
self.setCentralWidget(self.centralwidget)
self.checkBoxes = {
'Chrome': '', 'Yandex': '', 'FireFox': '',
'Opera': '', 'OperaGX': '', 'Edge': '',
'Vivaldi': '', 'uTorrent': '', 'qBitTorrent': '',
'Transmission': '', 'LibreOffice': '', 'NotePad++': 'Notepad.exe',
# -------------------------------------------------------------> ^^^^^^^^^^^
'winRAR': '', 'Thony': '', 'Atom': '',
'7zip': '', 'MicrosoftOffce': '', 'Gvim': '',
'VSCode': '', 'SublimeText': '', 'Everything': '',
'Windirstat': '', 'AnvirTM': '', 'InfoCD': '',
'LockHunter': '', 'AIDA64': '', 'CDbxp': '',
'Unlocker': '', 'MarkCD': '', 'HDTunePro': '',
'CpuZ': '', 'AIMP': '', 'Gimp': '',
'KMPlayer': '', 'GpuZ': '', 'VLC': '',
'CoreTemp': '', 'MSIAfterburner': '', 'Lightshot': '',
'CyberLink': '', 'DriverBooster': '', 'MiniBin': '',
'VNCServer': '', 'DriverHub': '', 'Xrecode III': '',
'EarTrumpet': '', 'FileConverter': '', 'TimeER': '',
'Калькулятор': 'calc.exe',
# ------------------------> ^^^^^^^^
}
many_cb = len(self.checkBoxes)
column = 5
layout = QGridLayout(self.centralwidget)
self.check_boxes = []
for step, name in enumerate(self.checkBoxes):
cb = QCheckBox(name, objectName=name.lower())
cb.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(85, 255, 127);")
row = step // column
col = step % column
layout.addWidget(cb, row, col)
self.check_boxes.append(cb)
self.frame = QFrame()
self.Development = QPushButton('Development')
self.Development.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(124, 252, 0);")
self.Libraries = QPushButton('Libraries')
self.Libraries.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(124, 252, 0);")
self.View = QPushButton('View')
self.View.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(124, 252, 0);")
self.Install = QPushButton('Install')
self.Install.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(255, 215, 0);")
self.SPforPC = QPushButton('SPforPC')
self.SPforPC.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(240, 230, 140);")
self.SPforNoteBook = QPushButton('SPforNoteBook')
self.SPforNoteBook.setStyleSheet("background-color: rgb(0, 0, 0);\n"
"color: rgb(240, 230, 140);")
layoutV = QVBoxLayout(self.frame)
layoutV.setContentsMargins(0, 0, 0, 0)
layoutV.addWidget(self.Development)
layoutV.addWidget(self.Libraries)
layoutV.addWidget(self.View)
layoutV.addStretch(1)
layoutV.addWidget(self.SPforNoteBook)
layoutV.addWidget(self.SPforPC)
layoutV.addWidget(self.Install)
layout.addWidget(self.frame, 0, column, row+1, 1)
self.Install.clicked.connect(self.start_installation)
def start_installation(self):
self.process = []
for box in self.check_boxes:
if box.isChecked():
name_exe = self.checkBoxes.get(box.text())
#print(f'{box.text()} -- {name_exe}')
if name_exe:
process = QtCore.QProcess(self)
self.process.append(process)
self.process[-1].stateChanged.connect(
lambda state, name=name_exe: self.new_state(state, name))
self.process[-1].start(name_exe)
def new_state(self, newState, name):
if newState == 1:
text = f"\nПроцесс запускается, но программа {name} еще не запущена."
elif newState == 2:
text = f"Процесс запущен и программа {name} готова к работе."
elif newState == 0:
text = f"Процесс {name} не запущен."
print(f'{text}') #
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
app.setFont(QtGui.QFont("Times", 12, QtGui.QFont.Bold))
w = MainWindow()
w.show()
sys.exit(app.exec_())


