Russian Qt Forum
Ноябрь 25, 2024, 16:52 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как вывести системную информацию  (Прочитано 8580 раз)
qwyllum
Гость
« : Ноябрь 30, 2012, 13:54 »

Здравствуйте. В QT я новичок, только начали изучать в университете. Нам задали задание - написать программу, которая выводила бы информацию о системе - имя процессора, количество ядер, объем ОЗУ, название материнской платы. Я умею делать простейший вывод на форму, осталось только получить эту информацию. Поиск гуглом по фразам "QT Creator вывести системную информацию" "QT Creator вывести информацию о процессоре ничего не дал". Помогите пожалуйста, куда мне копать?

Заранее спасибо)
Записан
Bepec
Гость
« Ответ #1 : Ноябрь 30, 2012, 14:09 »

Гугл winApi пример С++ получить информацию об устройствах.
Записан
maint
Гость
« Ответ #2 : Ноябрь 30, 2012, 14:14 »

при чем тут qtcreator ? Это только IDE. Информацию в винде можно получить через winAPI или через WMI
Записан
Kurles
Бывалый
*****
Offline Offline

Сообщений: 480



Просмотр профиля
« Ответ #3 : Ноябрь 30, 2012, 14:18 »

неправильный запрос в гугл просто использовался у  тебя, правильный - "get system info winapi" или подобный для линукса )
Записан

Код
C++ (Qt)
while(!asleep()) sheep++;
qwyllum
Гость
« Ответ #4 : Ноябрь 30, 2012, 14:46 »

при чем тут qtcreator ? Это только IDE. Информацию в винде можно получить через winAPI или через WMI
QT Creator тут при том, что используются библиотеки типа QLibname QString, QLabel и т.п.. Следовательно, логичным было бы предположить, что существует библиотека вроде QSystemInfo, которая и подходит под мои задачи.  Мне нужна программа под Linux, а не под Windows.

Я правильно Вас понял, что в библиотеках Qt Creator нет нужной мне функции?
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #5 : Ноябрь 30, 2012, 14:52 »

при чем тут qtcreator ? Это только IDE.
@qwyllum: точно так же, как и visual studio, xcode, eclipse, и т.п. А библиотека называется просто «Qt» (и именно в таком регистре пишется).
Я правильно Вас понял, что в библиотеках Qt Creator нет нужной мне функции?
именно так
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #6 : Ноябрь 30, 2012, 14:52 »

Qt Creator не является библиотекой.
Библиотека Qt не содержит нужного тебе функционала.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
qwyllum
Гость
« Ответ #7 : Ноябрь 30, 2012, 14:57 »

Qt Creator не является библиотекой.
Библиотека Qt не содержит нужного тебе функционала.
Огромное спасибо, что вовремя исправили) буду задавать вопрос в другом разделе (:
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #8 : Ноябрь 30, 2012, 15:07 »

Цитировать
Огромное спасибо, что вовремя исправили) буду задавать вопрос в другом разделе (:
Посмотри для Qt это, но придется ручками поработать и.. мозгами.  Улыбающийся
Записан

ArchLinux x86_64 / Win10 64 bit
qwyllum
Гость
« Ответ #9 : Ноябрь 30, 2012, 15:13 »

Цитировать
Огромное спасибо, что вовремя исправили) буду задавать вопрос в другом разделе (:
Посмотри для Qt это, но придется ручками поработать и.. мозгами.  Улыбающийся

Огромное спасибо, сейчас посмотрю)

У меня еще вопрос по этой теме, чтобы новую не создавать. Я нашел консольный код, который выводит информацию о системе. Когда попробовал его переделать под QT, то ничего не получается - метка не изменяет свой текст на нужный, хотя в консоле printf все выводилось. Подскажите пожалуйста, где моя ошибка:

Код:
#include <QApplication>
#include <QLabel>
#include <QDialog>

#include <sys/utsname.h>
int main(int argc, char *argv[])
{

    QApplication a(argc, argv);
   QDialog *w = new QDialog;
    QLabel *label = new QLabel(w);
    struct utsname buf;
        label->setText((buf.sysname));
         w->show();

    return a.exec();
}

А вот код, который нормально работает:
Код:
#include <sys/utsname.h>
#include <stdio.h>
#include <errno.h>
 
int main()
{
    struct utsname buf;
    if (uname(&buf) == 0)
    {
        printf("OS name: %s\n", buf.sysname);
        printf("OS version: %s\n", buf.version);
        printf("OS release: %s\n", buf.release);
        printf("Arch: %s\n", buf.machine);
    }
    else
    {
        perror("Error");
    }
    return 0;
}
« Последнее редактирование: Ноябрь 30, 2012, 15:16 от qwyllum » Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #10 : Ноябрь 30, 2012, 15:15 »

Ну а кто будет buf заполнять? Кот Васька?
Записан

ArchLinux x86_64 / Win10 64 bit
qwyllum
Гость
« Ответ #11 : Ноябрь 30, 2012, 15:18 »

Ну а кто будет buf заполнять? Кот Васька?
Смеющийся Смеющийся Смеющийся огромное спасибо. Извините чайника. Все работает.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.081 секунд. Запросов: 23.