Qt 获取CPU信息

在Qt中调用Windows API GetSystemInfo可以获取CPU的相关信息,使用Qt的界面控件显示在界面上。在实现的过程中遇到了一个问题,就是显示地址信息在界面控件上。

试了好几种方法,都不能显示,最后想到了格式化函数sprintf,将地址转为char类型的数组或者指针,再转为字符串就可以正常显示了。

如果有人有更好的方法来显示地址,欢迎交流。

完整代码:

#pragma execution_character_set("utf-8")
#ifndef QCPUINFO_H
#define QCPUINFO_H

#include <QtWidgets/QWidget>
#include <QLabel>

class QCPUInfo : public QWidget
{
	Q_OBJECT

public:
	QCPUInfo(QWidget *parent = 0);
	~QCPUInfo();

private:
	void getCPUInfo();
	QLabel *m_pageSize;
	QLabel *m_minAddress;
	QLabel *m_maxAddress;
	QLabel *m_mask;
	QLabel *m_processorNum;
	QLabel *m_processorType;
	QLabel *m_processorLevel;
	QLabel *m_processorVersion;
};

#endif // QCPUINFO_H
#include "qcpuinfo.h"
#include <windows.h>
#include <QVBoxLayout>

QCPUInfo::QCPUInfo(QWidget *parent)
	: QWidget(parent)
{
	m_pageSize = new QLabel(this);
	m_minAddress = new QLabel(this);
	m_maxAddress = new QLabel(this);
	m_mask = new QLabel(this);
	m_processorNum = new QLabel(this);
	m_processorType = new QLabel(this);
	m_processorLevel = new QLabel(this);
	m_processorVersion = new QLabel(this);

	QVBoxLayout *pVBox = new QVBoxLayout(this);
	pVBox->addWidget(m_pageSize);
	pVBox->addWidget(m_minAddress);
	pVBox->addWidget(m_maxAddress);
	pVBox->addWidget(m_mask);
	pVBox->addWidget(m_processorNum);
	pVBox->addWidget(m_processorType);
	pVBox->addWidget(m_processorLevel);
	pVBox->addWidget(m_processorVersion);

	getCPUInfo();
}

QCPUInfo::~QCPUInfo()
{

}

void QCPUInfo::getCPUInfo()
{
	SYSTEM_INFO sysInfo;
	GetSystemInfo(&sysInfo);

	m_pageSize->setText(QString("分页大小:\t%1").arg(sysInfo.dwPageSize));
	char buff[32];
	sprintf(buff, "%p", sysInfo.lpMinimumApplicationAddress);
	m_minAddress->setText(QString("最小寻址:\t%1").arg(buff));
	sprintf(buff, "%p", sysInfo.lpMaximumApplicationAddress);
	m_maxAddress->setText(QString("最大寻址:\t%1").arg(buff));
	m_mask->setText(QString("掩码:\t\t%1").arg(sysInfo.dwActiveProcessorMask));
	m_processorNum->setText(QString("处理器个数:\t%1").arg(sysInfo.dwNumberOfProcessors));
	m_processorType->setText(QString("类型:\t\t%1").arg(sysInfo.dwProcessorType));
	m_processorLevel->setText(QString("等级:\t\t%1").arg(sysInfo.wProcessorLevel));
	m_processorVersion->setText(QString("版本:\t\t%1").arg(sysInfo.wProcessorRevision));
}

交流qq:1245178753

本文地址:http://blog.csdn.net/u011417605/article/details/51567716

时间: 2024-10-12 09:17:03

Qt 获取CPU信息的相关文章

获取CPU信息

1 查看手机CPU信息 cmd——adb shell——cd /proc------cat cpuinfo 2 获取cpu的是arm指令集,armv7指令集.还是neon指令集 /** * * [获取cpu类型和架构] * * @return * 三个参数类型的数组,第一个参数标识是不是ARM架构,第二个参数标识是V6还是V7架构,第三个参数标识是不是neon指令集 */ public static Object[] getCpuArchitecture() { if ((Integer) mA

c++获取cpu信息

原文地址:http://blog.csdn.net/jamesliulyc/article/details/2028958 1.什么是cpuid指令 CPUID指令是intel IA32架构下获得CPU信息的汇编指令,可以得到CPU类型,型号,制造商信息,商标信息,序列号,缓存等一系列CPU相关的东西. 2.cpuid指令的使用 cpuid使用eax作为输入参数,eax,ebx,ecx,edx作为输出参数,举个例子: __asm {  mov eax, 1  cpuid  ... } 以上代码以

CMD一键获取cpu信息

windows + R 输入cmd打开CMD 输入wmic cpu get Name 获取cpu名称-即物理cpu数 cpu get NumberOfCores获取cpu核心数 cpu get NumberOfLogicalProcessors 获取cpu线程数

zabbix API 获取CPU 信息

curl -i -X POST -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","method":"user.login","params":{"user":"william","password":"[email protected]#"},"auth

汇编实现获取CPU信息

这是文章最后一次更新,加入了TLB与Cache信息等资料前言:论坛上面有人不明白CPUID指令的用法,于是就萌生写这篇文章的想法,若有错误话请大侠指出,谢谢了 ^^论坛的式样貌似有问题,若式样问题导致阅读问题的话,可以在文章尾下载txt文档阅读. 论坛上面有人不明白CPUID指令的用法,于是就萌生写这篇文章的想法,若有错误话请大侠指出,谢谢了 ^^CPUID是Intel Pentium以上级CPU内置的一个指令(486级及以下的CPU不支持),它用于识别某一类型的CPU,它能返回CPU的级别(f

Qt获取窗口信息

最近闲来无事,复习下Qt,为以后做准备. 主要函数: x()   获取窗口左上角横坐标 y()   获取窗口左上角纵坐标 frameGeometry()   获取窗口长宽(frameGeometry().width(),frameGeometry().height()); 附上源代码:

sigar模块之python api简单的使用--获取cpu信息

# cat cpu_info.py  #!/usr/bin/env python # -*- coding: utf-8 -*- # [email protected] import os import sigar sg = sigar.open()          cpulist = sg.cpu_info_list() print "%d total CPUs." % len(cpulist) for cpu in cpulist:     print "Vendor.

win10驱动下获取cpu信息

entry.c #include "Driver.h" NTSTATUS DriverEntry( IN PDRIVER_OBJECT pDriverObject, IN PUNICODE_STRING pRegistryPath) { NTSTATUS status; //判断CPU类型 CPUType(); KdPrint(("Enter DriverEntry\n")); //DbgBreakPoint(); //设置卸载函数 pDriverObject-&g

android获取手机信息

android系统的很多信息可以通过 /proc 目录下获得,如 cat  /proc/cpuinfo                       获取cpu信息 cat /proc/meminfo                      获取内存信息 这些信息以文本格式保存,可以通过IO流读取,比较简单,在这里考虑到一些内容并不是以文本方式保存,磁盘信息 我们通过代码实现一个linux指令解析器来得到要获取的信息 指令解析器如下: public class CMDExecutor { /**