Released version 6.1.3
This commit is contained in:
		
				commit
				
					
						a94503cb82
					
				
			
		
					 1885 changed files with 276310 additions and 0 deletions
				
			
		
							
								
								
									
										123
									
								
								examples/sysinfo/sysinfo.cpp
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										123
									
								
								examples/sysinfo/sysinfo.cpp
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,123 @@
 | 
			
		|||
#include <qapplication.h>
 | 
			
		||||
#include <qwidget.h>
 | 
			
		||||
#include <qfont.h>
 | 
			
		||||
#include <qlabel.h>
 | 
			
		||||
#include <qgroupbox.h>
 | 
			
		||||
#include <qlayout.h>
 | 
			
		||||
#include <qwt_thermo.h>
 | 
			
		||||
#include <qwt_color_map.h>
 | 
			
		||||
 | 
			
		||||
class ValueBar: public QWidget
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
    ValueBar( Qt::Orientation orientation,
 | 
			
		||||
              const QString &text, QWidget *parent, double value = 0.0 ):
 | 
			
		||||
        QWidget( parent )
 | 
			
		||||
    {
 | 
			
		||||
        d_label = new QLabel( text, this );
 | 
			
		||||
        d_label->setFont( QFont( "Helvetica", 10 ) );
 | 
			
		||||
 | 
			
		||||
        d_thermo = new QwtThermo( this );
 | 
			
		||||
        d_thermo->setOrientation( orientation );
 | 
			
		||||
        d_thermo->setScale( 0.0, 100.0 );
 | 
			
		||||
        d_thermo->setValue( value );
 | 
			
		||||
        d_thermo->setFont( QFont( "Helvetica", 8 ) );
 | 
			
		||||
        d_thermo->setPipeWidth( 6 );
 | 
			
		||||
        d_thermo->setScaleMaxMajor( 6 );
 | 
			
		||||
        d_thermo->setScaleMaxMinor( 5 );
 | 
			
		||||
        d_thermo->setFillBrush( Qt::darkMagenta );
 | 
			
		||||
 | 
			
		||||
#if 0
 | 
			
		||||
        QwtLinearColorMap *colorMap =
 | 
			
		||||
            new QwtLinearColorMap( Qt::blue, Qt::red );
 | 
			
		||||
 | 
			
		||||
        colorMap->addColorStop( 0.2, Qt::yellow );
 | 
			
		||||
        colorMap->addColorStop( 0.3, Qt::cyan );
 | 
			
		||||
        colorMap->addColorStop( 0.4, Qt::green );
 | 
			
		||||
        colorMap->addColorStop( 0.5, Qt::magenta );
 | 
			
		||||
        colorMap->setMode( QwtLinearColorMap::FixedColors );
 | 
			
		||||
        d_thermo->setColorMap( colorMap );
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
        QVBoxLayout *layout = new QVBoxLayout( this );
 | 
			
		||||
        layout->setMargin( 0 );
 | 
			
		||||
        layout->setSpacing( 0 );
 | 
			
		||||
 | 
			
		||||
        if ( orientation == Qt::Horizontal )
 | 
			
		||||
        {
 | 
			
		||||
            d_label->setAlignment( Qt::AlignCenter );
 | 
			
		||||
            d_thermo->setScalePosition( QwtThermo::LeadingScale );
 | 
			
		||||
            layout->addWidget( d_label );
 | 
			
		||||
            layout->addWidget( d_thermo );
 | 
			
		||||
        }
 | 
			
		||||
        else
 | 
			
		||||
        {
 | 
			
		||||
            d_label->setAlignment( Qt::AlignRight );
 | 
			
		||||
            d_thermo->setScalePosition( QwtThermo::TrailingScale );
 | 
			
		||||
            layout->addWidget( d_thermo, 10, Qt::AlignHCenter );
 | 
			
		||||
            layout->addWidget( d_label, 0 );
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    void setValue( double value )
 | 
			
		||||
    {
 | 
			
		||||
        d_thermo->setValue( value );
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    QLabel *d_label;
 | 
			
		||||
    QwtThermo *d_thermo;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
class SysInfo : public QFrame
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
    SysInfo( QWidget *parent = NULL ):
 | 
			
		||||
        QFrame( parent )
 | 
			
		||||
    {
 | 
			
		||||
        QGroupBox *memBox = new QGroupBox( "Memory Usage", this );
 | 
			
		||||
        memBox->setFont( QFont( "Helvetica", 10 ) );
 | 
			
		||||
 | 
			
		||||
        QVBoxLayout *memLayout = new QVBoxLayout( memBox );
 | 
			
		||||
        memLayout->setMargin( 15 );
 | 
			
		||||
        memLayout->setSpacing( 5 );
 | 
			
		||||
 | 
			
		||||
        Qt::Orientation o = Qt::Horizontal;
 | 
			
		||||
        memLayout->addWidget( new ValueBar( o, "Used", memBox, 57 ) );
 | 
			
		||||
        memLayout->addWidget( new ValueBar( o, "Shared", memBox, 17 ) );
 | 
			
		||||
        memLayout->addWidget( new ValueBar( o, "Cache", memBox, 30 ) );
 | 
			
		||||
        memLayout->addWidget( new ValueBar( o, "Buffers", memBox, 22 ) );
 | 
			
		||||
        memLayout->addWidget( new ValueBar( o, "Swap Used", memBox, 57 ) );
 | 
			
		||||
        memLayout->addWidget( new QWidget( memBox ), 10 ); // spacer
 | 
			
		||||
 | 
			
		||||
        QGroupBox *cpuBox = new QGroupBox( "Cpu Usage", this );
 | 
			
		||||
        cpuBox->setFont( QFont( "Helvetica", 10 ) );
 | 
			
		||||
 | 
			
		||||
        QHBoxLayout *cpuLayout = new QHBoxLayout( cpuBox );
 | 
			
		||||
        cpuLayout->setMargin( 15 );
 | 
			
		||||
        cpuLayout->setSpacing( 5 );
 | 
			
		||||
 | 
			
		||||
        o = Qt::Vertical;
 | 
			
		||||
        cpuLayout->addWidget( new ValueBar( o, "User", cpuBox, 57 ) );
 | 
			
		||||
        cpuLayout->addWidget( new ValueBar( o, "Total", cpuBox, 73 ) );
 | 
			
		||||
        cpuLayout->addWidget( new ValueBar( o, "System", cpuBox, 16 ) );
 | 
			
		||||
        cpuLayout->addWidget( new ValueBar( o, "Idle", cpuBox, 27 ) );
 | 
			
		||||
 | 
			
		||||
        QHBoxLayout *layout = new QHBoxLayout( this );
 | 
			
		||||
        layout->setMargin( 10 );
 | 
			
		||||
        layout->addWidget( memBox, 10 );
 | 
			
		||||
        layout->addWidget( cpuBox, 0 );
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
int main ( int argc, char **argv )
 | 
			
		||||
{
 | 
			
		||||
    QApplication a( argc, argv );
 | 
			
		||||
 | 
			
		||||
    SysInfo info;
 | 
			
		||||
    info.resize( info.sizeHint().expandedTo( QSize( 600, 400 ) ) );
 | 
			
		||||
    info.show();
 | 
			
		||||
 | 
			
		||||
    int rv = a.exec();
 | 
			
		||||
    return rv;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										15
									
								
								examples/sysinfo/sysinfo.pro
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								examples/sysinfo/sysinfo.pro
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,15 @@
 | 
			
		|||
################################################################
 | 
			
		||||
# Qwt Widget Library
 | 
			
		||||
# Copyright (C) 1997   Josef Wilgen
 | 
			
		||||
# Copyright (C) 2002   Uwe Rathmann
 | 
			
		||||
#
 | 
			
		||||
# This library is free software; you can redistribute it and/or
 | 
			
		||||
# modify it under the terms of the Qwt License, Version 1.0
 | 
			
		||||
################################################################
 | 
			
		||||
 | 
			
		||||
include( $${PWD}/../examples.pri )
 | 
			
		||||
 | 
			
		||||
TARGET  = sysinfo
 | 
			
		||||
 | 
			
		||||
SOURCES = \
 | 
			
		||||
    sysinfo.cpp 
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue