Вывод информации о GPU-CPU-ОЗУ

Sergey_2023

Новичок
Пользователь
Мар 22, 2023
14
1
3
Здравствуйте.
Как можно вывести информацию о (видеокарте) (процессоре) (оперативной памяти) в textBrowser по нажатию кнопки.
Мне уже помогли с выводом через (командную строку) ну хотелось бы узнать о другом способе.

Python:
#main.py

from builtins import bytearray, super
from PyQt5 import QtWidgets
from PyQt5.QtCore import QProcess
from ui import Ui_Form
import sys
#-------------------------------------------------------------
class Form(QtWidgets.QMainWindow):
    def __init__(self):
        super(Form, self).__init__()
        self.ui = Ui_Form()
        self.ui.setupUi(self)
        self.init_UI()
#-------------------------------------------------------------
    def init_UI(self): #Кнопка
        self.ui.pushButton.clicked.connect(self.cpu)
#-------------------------------------------------------------

    def cpu(self): #Вывести информацию по процессору
        self.proc = QProcess()
        self.proc.start('wmic cpu get name')
        self.proc.waitForStarted()
        self.proc.waitForFinished()
        self.result = bytearray(self.proc.readAll()).decode()
        self.ui.textBrowser.setText(self.result)
        self.proc.close()
#-------------------------------------------------------------

app = QtWidgets.QApplication([])
application = Form()
application.show()
 
sys.exit(app.exec())

#ui.py

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(303, 298)
        self.textBrowser = QtWidgets.QTextBrowser(Form)
        self.textBrowser.setGeometry(QtCore.QRect(20, 70, 256, 192))
        self.textBrowser.setObjectName("textBrowser")
        self.pushButton = QtWidgets.QPushButton(Form)
        self.pushButton.setGeometry(QtCore.QRect(20, 40, 75, 23))
        self.pushButton.setObjectName("pushButton")

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

    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Form"))
        self.pushButton.setText(_translate("Form", "Начать"))


if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Form = QtWidgets.QWidget()
    ui = Ui_Form()
    ui.setupUi(Form)
    Form.show()
    sys.exit(app.exec_())
 

Вложения

  • Python.zip
    1,1 КБ · Просмотры: 0
Последнее редактирование:

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 661
474
83
так же как вы выводите информацию по процессору

у хотелось бы узнать о другом способе.
о каком, через винапи?
 

Sergey_2023

Новичок
Пользователь
Мар 22, 2023
14
1
3
так же как вы выводите информацию по процессору


о каком, через винапи?

Да если не слишком сложно через винапи
По читал можно ещё и через WMI

А дак это вы мне и помогли с выводом информации о модели материнской платы через cmd команду.
Да вроде бы все выводит, ну хотелось бы сделать что то новое более информационное.
 
Последнее редактирование:

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 661
474
83
Да если не слишком сложно через винапи
По читал можно ещё и через WMI

А дак это вы мне и помогли с выводом информации о модели материнской платы через cmd команду.
Да вроде бы все выводит, ну хотелось бы сделать что то новое более информационное.
через командную строку проще

могу скинуть отрывок из проекта на с++, где получаем инфомацию о системе через WMI, (модель и производитель), можете переписать на питон
C++:
// получение информации о системе через WMI
std::wstring getWMI(std::string query)
{
    HRESULT hres;
    std::wstring res = L"";

    // Инициализация COM
    hres = CoInitializeEx(0, COINIT_MULTITHREADED);
    if (FAILED(hres))
    {
        res = L"Недоступно";
    }

    // Инициализация WMI
    hres = CoInitializeSecurity(
        NULL,
        -1,      // COM negotiates service                
        NULL,    // Authentication services
        NULL,    // Reserved
        RPC_C_AUTHN_LEVEL_DEFAULT,    // authentication
        RPC_C_IMP_LEVEL_IMPERSONATE,  // Impersonation
        NULL,             // Authentication info
        EOAC_NONE,        // Additional capabilities
        NULL              // Reserved
    );

    if (FAILED(hres))
    {
        res = L"Недоступно";
    }

    // Получить начальный локатор для управления Windows
    // на определенном главном компьютере.
    IWbemLocator* pLoc = 0;

    hres = CoCreateInstance(
        CLSID_WbemLocator,
        0,
        CLSCTX_INPROC_SERVER,
        IID_IWbemLocator, (LPVOID*)&pLoc);

    if (FAILED(hres))
    {
        res = L"Недоступно";
    }

    IWbemServices* pSvc = 0;

    // Подключитесь к корневому пространству имен\cimv2 с помощью
    // текущего пользователя и получите указатель pSvc
    // для выполнения вызовов IWbemServices.
    hres = pLoc->ConnectServer(

        _bstr_t(L"ROOT\\CIMV2"), // WMI namespace
        NULL,                    // User name
        NULL,                    // User password
        0,                       // Locale
        NULL,                    // Security flags                
        0,                       // Authority      
        0,                       // Context object
        &pSvc                    // IWbemServices proxy
    );

    if (FAILED(hres))
    {
        res = L"Недоступно";
    }

    // Установите прокси-сервер IWbemServices
    hres = CoSetProxyBlanket(

        pSvc,                         // the proxy to set
        RPC_C_AUTHN_WINNT,            // authentication service
        RPC_C_AUTHZ_NONE,             // authorization service
        NULL,                         // Server principal name
        RPC_C_AUTHN_LEVEL_CALL,       // authentication level
        RPC_C_IMP_LEVEL_IMPERSONATE,  // impersonation level
        NULL,                         // client identity
        EOAC_NONE                     // proxy capabilities    
    );

    if (FAILED(hres))
    {
        res = L"Недоступно";
    }

    // Используйте указатель IWbemServices для выполнения запросов WMI.
    IEnumWbemClassObject* pEnumerator = NULL;
    hres = pSvc->ExecQuery(
        bstr_t("WQL"),
        bstr_t(query.c_str()),
        WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
        NULL,
        &pEnumerator);

    if (FAILED(hres))
    {
        res = L"Недоступно";
    }
    else
    {
        IWbemClassObject* pclsObj;
        ULONG uReturn = 0;

        while (pEnumerator)
        {
            hres = pEnumerator->Next(WBEM_INFINITE, 1,
                &pclsObj, &uReturn);

            if (0 == uReturn)
            {
                res = L"Недоступно";
                break;
            }

            VARIANT vtProp;
            if (query.find("ComputerSystem") != std::string::npos)
            {
                hres = pclsObj->Get(L"Model", 0, &vtProp, 0, 0);
                res += vtProp.bstrVal;
                res += L" ";
                VariantClear(&vtProp);
            }
            else
            {
                hres = pclsObj->Get(L"Manufacturer", 0, &vtProp, 0, 0);
                res = vtProp.bstrVal;
                res += L" ";
                hres = pclsObj->Get(L"Model", 0, &vtProp, 0, 0);
                res += vtProp.bstrVal;
                VariantClear(&vtProp);
            }

            pclsObj->Release();
            pclsObj = NULL;
        }
    }

    // Очистка
    pSvc->Release();
    pLoc->Release();
    pEnumerator->Release();
    CoUninitialize();

    return res;
}

и вызов этой функции
C++:
// Получаем производителя и марку мат платы
systemInfo += converter.to_bytes(getWMI("SELECT * FROM Win32_ComputerSystem")) + "; ";

// Марка ЖД
systemInfo += converter.to_bytes(getWMI("SELECT * FROM Win32_diskdrive")) + "; ";
 
  • Мне нравится
Реакции: Sergey_2023

Sergey_2023

Новичок
Пользователь
Мар 22, 2023
14
1
3
через командную строку проще

могу скинуть отрывок из проекта на с++, где получаем инфомацию о системе через WMI, (модель и производитель), можете переписать на питон
C++:
// получение информации о системе через WMI
std::wstring getWMI(std::string query)
{
    HRESULT hres;
    std::wstring res = L"";

    // Инициализация COM
    hres = CoInitializeEx(0, COINIT_MULTITHREADED);
    if (FAILED(hres))
    {
        res = L"Недоступно";
    }

    // Инициализация WMI
    hres = CoInitializeSecurity(
        NULL,
        -1,      // COM negotiates service                
        NULL,    // Authentication services
        NULL,    // Reserved
        RPC_C_AUTHN_LEVEL_DEFAULT,    // authentication
        RPC_C_IMP_LEVEL_IMPERSONATE,  // Impersonation
        NULL,             // Authentication info
        EOAC_NONE,        // Additional capabilities
        NULL              // Reserved
    );

    if (FAILED(hres))
    {
        res = L"Недоступно";
    }

    // Получить начальный локатор для управления Windows
    // на определенном главном компьютере.
    IWbemLocator* pLoc = 0;

    hres = CoCreateInstance(
        CLSID_WbemLocator,
        0,
        CLSCTX_INPROC_SERVER,
        IID_IWbemLocator, (LPVOID*)&pLoc);

    if (FAILED(hres))
    {
        res = L"Недоступно";
    }

    IWbemServices* pSvc = 0;

    // Подключитесь к корневому пространству имен\cimv2 с помощью
    // текущего пользователя и получите указатель pSvc
    // для выполнения вызовов IWbemServices.
    hres = pLoc->ConnectServer(

        _bstr_t(L"ROOT\\CIMV2"), // WMI namespace
        NULL,                    // User name
        NULL,                    // User password
        0,                       // Locale
        NULL,                    // Security flags                
        0,                       // Authority      
        0,                       // Context object
        &pSvc                    // IWbemServices proxy
    );

    if (FAILED(hres))
    {
        res = L"Недоступно";
    }

    // Установите прокси-сервер IWbemServices
    hres = CoSetProxyBlanket(

        pSvc,                         // the proxy to set
        RPC_C_AUTHN_WINNT,            // authentication service
        RPC_C_AUTHZ_NONE,             // authorization service
        NULL,                         // Server principal name
        RPC_C_AUTHN_LEVEL_CALL,       // authentication level
        RPC_C_IMP_LEVEL_IMPERSONATE,  // impersonation level
        NULL,                         // client identity
        EOAC_NONE                     // proxy capabilities    
    );

    if (FAILED(hres))
    {
        res = L"Недоступно";
    }

    // Используйте указатель IWbemServices для выполнения запросов WMI.
    IEnumWbemClassObject* pEnumerator = NULL;
    hres = pSvc->ExecQuery(
        bstr_t("WQL"),
        bstr_t(query.c_str()),
        WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
        NULL,
        &pEnumerator);

    if (FAILED(hres))
    {
        res = L"Недоступно";
    }
    else
    {
        IWbemClassObject* pclsObj;
        ULONG uReturn = 0;

        while (pEnumerator)
        {
            hres = pEnumerator->Next(WBEM_INFINITE, 1,
                &pclsObj, &uReturn);

            if (0 == uReturn)
            {
                res = L"Недоступно";
                break;
            }

            VARIANT vtProp;
            if (query.find("ComputerSystem") != std::string::npos)
            {
                hres = pclsObj->Get(L"Model", 0, &vtProp, 0, 0);
                res += vtProp.bstrVal;
                res += L" ";
                VariantClear(&vtProp);
            }
            else
            {
                hres = pclsObj->Get(L"Manufacturer", 0, &vtProp, 0, 0);
                res = vtProp.bstrVal;
                res += L" ";
                hres = pclsObj->Get(L"Model", 0, &vtProp, 0, 0);
                res += vtProp.bstrVal;
                VariantClear(&vtProp);
            }

            pclsObj->Release();
            pclsObj = NULL;
        }
    }

    // Очистка
    pSvc->Release();
    pLoc->Release();
    pEnumerator->Release();
    CoUninitialize();

    return res;
}

и вызов этой функции
C++:
// Получаем производителя и марку мат платы
systemInfo += converter.to_bytes(getWMI("SELECT * FROM Win32_ComputerSystem")) + "; ";

// Марка ЖД
systemInfo += converter.to_bytes(getWMI("SELECT * FROM Win32_diskdrive")) + "; ";

Сложновато с моим опытом, попробую разобраться.
 

Sergey_2023

Новичок
Пользователь
Мар 22, 2023
14
1
3
через командную строку проще

могу скинуть отрывок из проекта на с++, где получаем инфомацию о системе через WMI, (модель и производитель), можете переписать на питон
C++:
// получение информации о системе через WMI
std::wstring getWMI(std::string query)
{
    HRESULT hres;
    std::wstring res = L"";

    // Инициализация COM
    hres = CoInitializeEx(0, COINIT_MULTITHREADED);
    if (FAILED(hres))
    {
        res = L"Недоступно";
    }

    // Инициализация WMI
    hres = CoInitializeSecurity(
        NULL,
        -1,      // COM negotiates service             
        NULL,    // Authentication services
        NULL,    // Reserved
        RPC_C_AUTHN_LEVEL_DEFAULT,    // authentication
        RPC_C_IMP_LEVEL_IMPERSONATE,  // Impersonation
        NULL,             // Authentication info
        EOAC_NONE,        // Additional capabilities
        NULL              // Reserved
    );

    if (FAILED(hres))
    {
        res = L"Недоступно";
    }

    // Получить начальный локатор для управления Windows
    // на определенном главном компьютере.
    IWbemLocator* pLoc = 0;

    hres = CoCreateInstance(
        CLSID_WbemLocator,
        0,
        CLSCTX_INPROC_SERVER,
        IID_IWbemLocator, (LPVOID*)&pLoc);

    if (FAILED(hres))
    {
        res = L"Недоступно";
    }

    IWbemServices* pSvc = 0;

    // Подключитесь к корневому пространству имен\cimv2 с помощью
    // текущего пользователя и получите указатель pSvc
    // для выполнения вызовов IWbemServices.
    hres = pLoc->ConnectServer(

        _bstr_t(L"ROOT\\CIMV2"), // WMI namespace
        NULL,                    // User name
        NULL,                    // User password
        0,                       // Locale
        NULL,                    // Security flags             
        0,                       // Authority   
        0,                       // Context object
        &pSvc                    // IWbemServices proxy
    );

    if (FAILED(hres))
    {
        res = L"Недоступно";
    }

    // Установите прокси-сервер IWbemServices
    hres = CoSetProxyBlanket(

        pSvc,                         // the proxy to set
        RPC_C_AUTHN_WINNT,            // authentication service
        RPC_C_AUTHZ_NONE,             // authorization service
        NULL,                         // Server principal name
        RPC_C_AUTHN_LEVEL_CALL,       // authentication level
        RPC_C_IMP_LEVEL_IMPERSONATE,  // impersonation level
        NULL,                         // client identity
        EOAC_NONE                     // proxy capabilities 
    );

    if (FAILED(hres))
    {
        res = L"Недоступно";
    }

    // Используйте указатель IWbemServices для выполнения запросов WMI.
    IEnumWbemClassObject* pEnumerator = NULL;
    hres = pSvc->ExecQuery(
        bstr_t("WQL"),
        bstr_t(query.c_str()),
        WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
        NULL,
        &pEnumerator);

    if (FAILED(hres))
    {
        res = L"Недоступно";
    }
    else
    {
        IWbemClassObject* pclsObj;
        ULONG uReturn = 0;

        while (pEnumerator)
        {
            hres = pEnumerator->Next(WBEM_INFINITE, 1,
                &pclsObj, &uReturn);

            if (0 == uReturn)
            {
                res = L"Недоступно";
                break;
            }

            VARIANT vtProp;
            if (query.find("ComputerSystem") != std::string::npos)
            {
                hres = pclsObj->Get(L"Model", 0, &vtProp, 0, 0);
                res += vtProp.bstrVal;
                res += L" ";
                VariantClear(&vtProp);
            }
            else
            {
                hres = pclsObj->Get(L"Manufacturer", 0, &vtProp, 0, 0);
                res = vtProp.bstrVal;
                res += L" ";
                hres = pclsObj->Get(L"Model", 0, &vtProp, 0, 0);
                res += vtProp.bstrVal;
                VariantClear(&vtProp);
            }

            pclsObj->Release();
            pclsObj = NULL;
        }
    }

    // Очистка
    pSvc->Release();
    pLoc->Release();
    pEnumerator->Release();
    CoUninitialize();

    return res;
}

и вызов этой функции
C++:
// Получаем производителя и марку мат платы
systemInfo += converter.to_bytes(getWMI("SELECT * FROM Win32_ComputerSystem")) + "; ";

// Марка ЖД
systemInfo += converter.to_bytes(getWMI("SELECT * FROM Win32_diskdrive")) + "; ";
Пока что буду через CMD а дальше как пойдёт.

Сейчас пытаюсь понять как одной кнопкой задействовать все команды CMD и вывести в одно окно textBrowser

main.py
Python:
from builtins import bytearray, super
from PyQt5 import QtWidgets
from PyQt5.QtCore import QProcess
from ui import Ui_Form
import sys

class Form(QtWidgets.QMainWindow):
    def __init__(self):
        super(Form, self).__init__()
        self.ui = Ui_Form()
        self.ui.setupUi(self)
        self.init_UI()
#-------------------------------------------------------------
    def init_UI(self): #Кнопки checkBox
        self.ui.radioButton.clicked.connect(self.baseboard)
        self.ui.radioButton_2.clicked.connect(self.VideoController)
        self.ui.radioButton_3.clicked.connect(self.cpu)
#-------------------------------------------------------------
    def baseboard(self): #Вывести информацию по материнской карте
        self.proc = QProcess()
        self.proc.start('wmic baseboard get product')
        self.proc.waitForStarted()
        self.proc.waitForFinished()
        self.result = bytearray(self.proc.readAll()).decode()
        self.ui.textBrowser_2.setText(self.result)
        self.proc.close()
#-------------------------------------------------------------
    def VideoController(self): #Вывести информацию по видеокарте
        self.proc = QProcess()
        self.proc.start('wmic path win32_VideoController get name')
        self.proc.waitForStarted()
        self.proc.waitForFinished()
        self.result = bytearray(self.proc.readAll()).decode()
        self.ui.textBrowser_2.setText(self.result)
        self.proc.close()
#-------------------------------------------------------------
    def cpu(self): #Вывести информацию по процессору
        self.proc = QProcess()
        self.proc.start('wmic cpu get name')
        self.proc.waitForStarted()
        self.proc.waitForFinished()
        self.result1 = bytearray(self.proc.readAll()).decode()
        self.ui.textBrowser_2.setText(self.result1)
        self.proc.close()

app = QtWidgets.QApplication([])
application = Form()
application.show()
 
sys.exit(app.exec())
 
Последнее редактирование:

Sergey_2023

Новичок
Пользователь
Мар 22, 2023
14
1
3
Пока что буду через CMD а дальше как пойдёт.

Сейчас пытаюсь понять как одной кнопкой задействовать все команды CMD и вывести в одно окно textBrowser

Python:
from builtins import bytearray, super
from PyQt5 import QtWidgets
from PyQt5.QtCore import QProcess
from ui import Ui_Form
import sys

class Form(QtWidgets.QMainWindow):
    def __init__(self):
        super(Form, self).__init__()
        self.ui = Ui_Form()
        self.ui.setupUi(self)
        self.init_UI()
#-------------------------------------------------------------
    def init_UI(self): #Кнопки checkBox
        self.ui.radioButton.clicked.connect(self.baseboard)
        self.ui.radioButton_2.clicked.connect(self.VideoController)
        self.ui.radioButton_3.clicked.connect(self.cpu)
#-------------------------------------------------------------
    def baseboard(self): #Вывести информацию по материнской карте
        self.proc = QProcess()
        self.proc.start('wmic baseboard get product')
        self.proc.waitForStarted()
        self.proc.waitForFinished()
        self.result = bytearray(self.proc.readAll()).decode()
        self.ui.textBrowser_2.setText(self.result)
        self.proc.close()
#-------------------------------------------------------------
    def VideoController(self): #Вывести информацию по видеокарте
        self.proc = QProcess()
        self.proc.start('wmic path win32_VideoController get name')
        self.proc.waitForStarted()
        self.proc.waitForFinished()
        self.result = bytearray(self.proc.readAll()).decode()
        self.ui.textBrowser_2.setText(self.result)
        self.proc.close()
#-------------------------------------------------------------
    def cpu(self): #Вывести информацию по процессору
        self.proc = QProcess()
        self.proc.start('wmic cpu get name')
        self.proc.waitForStarted()
        self.proc.waitForFinished()
        self.result1 = bytearray(self.proc.readAll()).decode()
        self.ui.textBrowser_2.setText(self.result1)
        self.proc.close()

app = QtWidgets.QApplication([])
application = Form()
application.show()
 
sys.exit(app.exec())
ui.py
Python:
# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'ui.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.


from builtins import object
from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(505, 300)
        self.tabWidget = QtWidgets.QTabWidget(Form)
        self.tabWidget.setGeometry(QtCore.QRect(0, 0, 500, 300))
        self.tabWidget.setLayoutDirection(QtCore.Qt.LeftToRight)
        self.tabWidget.setTabPosition(QtWidgets.QTabWidget.West)
        self.tabWidget.setTabShape(QtWidgets.QTabWidget.Rounded)
        self.tabWidget.setObjectName("tabWidget")
        self.tab = QtWidgets.QWidget()
        self.tab.setObjectName("tab")
        self.groupBox = QtWidgets.QGroupBox(self.tab)
        self.groupBox.setGeometry(QtCore.QRect(0, 16, 475, 281))
        self.groupBox.setObjectName("groupBox")
        self.textBrowser = QtWidgets.QTextBrowser(self.groupBox)
        self.textBrowser.setGeometry(QtCore.QRect(10, 20, 461, 251))
        self.textBrowser.setObjectName("textBrowser")
        self.textBrowser_2 = QtWidgets.QTextBrowser(self.groupBox)
        self.textBrowser_2.setGeometry(QtCore.QRect(200, 40, 161, 101))
        self.textBrowser_2.setTabletTracking(False)
        self.textBrowser_2.setHorizontalScrollBarPolicy(QtCore.Qt.ScrollBarAsNeeded)
        self.textBrowser_2.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustIgnored)
        self.textBrowser_2.setObjectName("textBrowser_2")
        self.radioButton = QtWidgets.QRadioButton(self.groupBox)
        self.radioButton.setGeometry(QtCore.QRect(30, 50, 121, 17))
        self.radioButton.setObjectName("radioButton")
        self.radioButton_2 = QtWidgets.QRadioButton(self.groupBox)
        self.radioButton_2.setGeometry(QtCore.QRect(30, 75, 81, 17))
        self.radioButton_2.setObjectName("radioButton_2")
        self.radioButton_3 = QtWidgets.QRadioButton(self.groupBox)
        self.radioButton_3.setGeometry(QtCore.QRect(30, 100, 71, 17))
        self.radioButton_3.setObjectName("radioButton_3")
        self.tabWidget.addTab(self.tab, "")
        self.tab_2 = QtWidgets.QWidget()
        self.tab_2.setObjectName("tab_2")
        self.textBrowser_3 = QtWidgets.QTextBrowser(self.tab_2)
        self.textBrowser_3.setGeometry(QtCore.QRect(10, 20, 461, 251))
        self.textBrowser_3.setObjectName("textBrowser_3")
        self.radioButton_5 = QtWidgets.QRadioButton(self.tab_2)
        self.radioButton_5.setGeometry(QtCore.QRect(30, 65, 241, 17))
        self.radioButton_5.setObjectName("radioButton_5")
        self.radioButton_4 = QtWidgets.QRadioButton(self.tab_2)
        self.radioButton_4.setGeometry(QtCore.QRect(30, 40, 111, 17))
        self.radioButton_4.setObjectName("radioButton_4")
        self.tabWidget.addTab(self.tab_2, "")

        self.retranslateUi(Form)
        self.tabWidget.setCurrentIndex(1)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Тестовая программа"))
        self.groupBox.setTitle(_translate("Form", "Информация"))
        self.radioButton.setText(_translate("Form", "Материская плата"))
        self.radioButton_2.setText(_translate("Form", "Видеокарта"))
        self.radioButton_3.setText(_translate("Form", "Процессор"))
        self.radioButton_4.setText(_translate("Form", "Службы Windows"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("Form", "CMD команды"))
        self.radioButton_5.setText(_translate("Form", "Редактор локальной групповой политики"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("Form", "Дополнительно"))


if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Form = QtWidgets.QWidget()
    ui = Ui_Form()
    ui.setupUi(Form)
    Form.show()
    sys.exit(app.exec_())
 
Последнее редактирование:

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 661
474
83
Сейчас пытаюсь понять как одной кнопкой задействовать все команды CMD
вызывать функции в конце предыдущей функции, например сначала идет функция сбора инфы о процессоре, в конце этой функции вызывается сбор инфы о мат плате и так далее
вывод собирать в одну переменную
 
  • Мне нравится
Реакции: Sergey_2023

Sergey_2023

Новичок
Пользователь
Мар 22, 2023
14
1
3
В чём может быть проблема.
Пытаюсь удалить файл ну пишет не удаётся найти путь
Я думаю что из за того что папки скрыты.


Python:
from pathlib import Path

file_path = Path('/tmp/1.txt')

try:
    file_path.unlink()
except OSError as e:
    print("Ошибка: %s : %s" % (file_path, e.strerror))
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 661
474
83
В чём может быть проблема.
Пытаюсь удалить файл ну пишет не удаётся найти путь
Я думаю что из за того что папки скрыты.


Python:
from pathlib import Path

file_path = Path('/tmp/1.txt')

try:
    file_path.unlink()
except OSError as e:
    print("Ошибка: %s : %s" % (file_path, e.strerror))
возможно
попробуйте на не скрытом файле

и для нового вопроса создайте новую тему
 
Последнее редактирование:
  • Мне нравится
Реакции: Sergey_2023

Форум IT Специалистов