Как отобразить имеющиеся драйвера в scrollArea в pyqt5

И так, решил сделать что то вроде своего Driver Booster. Как сделать, что бы по нажатию на кнопку Scan программа смотрела, какие есть дрова на ПК и вставляла их в список scrollArea?

# -*- coding: utf-8 -*-

from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_Form(object):

    def setupUi(self, Form):

        Form.setObjectName("DriversDS")
        Form.resize(721, 465)

        font = QtGui.QFont()
        font.setPointSize(25)

        Form.setFont(font)
        Form.setStyleSheet("background-color: #343434;")

        self.label = QtWidgets.QLabel(Form)
        self.label.setGeometry(QtCore.QRect(0, 0, 721, 41))

        font = QtGui.QFont()
        font.setFamily("Aksent")
        font.setPointSize(25)

        self.label.setFont(font)
        self.label.setStyleSheet("background-color: #232323;\n"
"color: white;")
        self.label.setTextFormat(QtCore.Qt.AutoText)
        self.label.setObjectName("label")

        self.pushButton = QtWidgets.QPushButton(Form)
        self.pushButton.setGeometry(QtCore.QRect(680, 5, 31, 31))

        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(10)
        font.setBold(True)
        font.setWeight(75)

        self.pushButton.setFont(font)
        self.pushButton.setStyleSheet("background-color: #232323;\n"
"border: none;\n"
"color: white;")
        self.pushButton.setObjectName("pushButton")
        self.pushButton.clicked.connect(QtCore.QCoreApplication.instance().quit)

        self.progressBar = QtWidgets.QProgressBar(Form)
        self.progressBar.setGeometry(QtCore.QRect(5, 422, 711, 31))
        self.progressBar.setAutoFillBackground(False)
        self.progressBar.setStyleSheet("border-top: 2px solid #232323;\n"
"border-bottom: 2px solid #232323;\n"
"border-right: 2px solid #232323;\n"
"border-left: 2px solid #232323;")
        self.progressBar.setProperty("value", 24)
        self.progressBar.setTextVisible(False)
        self.progressBar.setObjectName("progressBar")

        self.scrollArea = QtWidgets.QScrollArea(Form)
        self.scrollArea.setGeometry(QtCore.QRect(20, 85, 541, 331))
        self.scrollArea.setStyleSheet("border-top: 2px solid #232323;\n"
"border-bottom: 2px solid #232323;\n"
"border-right: 2px solid #232323;\n"
"border-left: 2px solid #232323;")
        self.scrollArea.setWidgetResizable(True)
        self.scrollArea.setObjectName("scrollArea")
        self.scrollAreaWidgetContents = QtWidgets.QWidget()
        self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(0, 0, 537, 327))
        self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents")
        self.scrollArea.setWidget(self.scrollAreaWidgetContents)

        self.label_2 = QtWidgets.QLabel(Form)
        self.label_2.setGeometry(QtCore.QRect(25, 55, 101, 21))

        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(20)
        font.setBold(False)
        font.setWeight(50)

        self.label_2.setFont(font)
        self.label_2.setStyleSheet("color: white;\n"
"background-color: none;\n"
"border: none;")
        self.label_2.setObjectName("label_2")

        self.pushButton_2 = QtWidgets.QPushButton(Form)
        self.pushButton_2.setGeometry(QtCore.QRect(570, 85, 136, 51))

        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(16)
        font.setBold(True)
        font.setItalic(True)
        font.setWeight(75)

        self.pushButton_2.setFont(font)
        self.pushButton_2.setStyleSheet("background-color: #232323;\n"
"color: white;")
        self.pushButton_2.setObjectName("pushButton_2")

        self.pushButton_3 = QtWidgets.QPushButton(Form)
        self.pushButton_3.setGeometry(QtCore.QRect(570, 145, 136, 51))

        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(16)
        font.setBold(True)
        font.setItalic(True)
        font.setWeight(75)

        self.pushButton_3.setFont(font)
        self.pushButton_3.setStyleSheet("background-color: #232323;\n"
"color: white;")
        self.pushButton_3.setObjectName("pushButton_3")

        self.pushButton_4 = QtWidgets.QPushButton(Form)
        self.pushButton_4.setGeometry(QtCore.QRect(570, 205, 136, 51))

        font = QtGui.QFont()
        font.setFamily("Arial")
        font.setPointSize(16)
        font.setBold(True)
        font.setItalic(True)
        font.setWeight(75)

        self.pushButton_4.setFont(font)
        self.pushButton_4.setStyleSheet("background-color: #232323;\n"
"color: white;")
        self.pushButton_4.setObjectName("pushButton_4")

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):

        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Form"))

        self.label.setText(_translate("Form", " DriversDS"))

        self.pushButton.setText(_translate("Form", "X"))

        self.label_2.setText(_translate("Form", "Drivers:"))

        self.pushButton_2.setText(_translate("Form", "Scan"))

        self.pushButton_3.setText(_translate("Form", "Update all"))

        self.pushButton_4.setText(_translate("Form", "Update"))

class Widget(QtWidgets.QWidget, Ui_Form):

    def __init__(self, parent=None):

        super(Widget, self).__init__(parent)

        self.setupUi(self)

        self.setWindowFlags(QtCore.Qt.FramelessWindowHint)# Убрать рамку
        self.old_pos = None

    # вызывается при нажатии кнопки мыши
    def mousePressEvent(self, event):

        if event.button() == QtCore.Qt.LeftButton:
            self.old_pos = event.pos()

    # вызывается при отпускании кнопки мыши
    def mouseReleaseEvent(self, event):

        if event.button() == QtCore.Qt.LeftButton:
            self.old_pos = None

    # вызывается всякий раз, когда мышь перемещается
    def mouseMoveEvent(self, event):

        if not self.old_pos:
            return
        delta = event.pos() - self.old_pos
        self.move(self.pos() + delta)

if __name__ == "__main__":
   import sys
   app = QtWidgets.QApplication(sys.argv)
   w = Widget()
   w.show()
   sys.exit(app.exec_())

введите сюда описание изображения Хотел сделать по макету, но немного его изменил.


Ответы (0 шт):