mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-30 20:40:28 -04:00 
			
		
		
		
	
		
			
	
	
		
			54 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
		
		
			
		
	
	
			54 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
|  | // Simple bargraph dB meter
 | ||
|  | // Implemented by Edson Pereira PY2SDR
 | ||
|  | //
 | ||
|  | // Limits and geometry are hardcded for now.
 | ||
|  | 
 | ||
|  | #include "signalmeter.h"
 | ||
|  | 
 | ||
|  | SignalMeter::SignalMeter(QWidget *parent) : | ||
|  |     QWidget(parent) | ||
|  | { | ||
|  |     resize(parent->size()); | ||
|  | 
 | ||
|  |     m_meter = new MeterWidget(this); | ||
|  |     m_meter->setGeometry(10, 10, 10, 120); | ||
|  | 
 | ||
|  |     m_label = new QLabel(this); | ||
|  |     m_label->setGeometry(10, 135, 20, 20); | ||
|  | 
 | ||
|  |     QLabel *dbLabel = new QLabel(this); | ||
|  |     dbLabel->setText("dB"); | ||
|  |     dbLabel->setGeometry(30, 135, 20, 20); | ||
|  | } | ||
|  | 
 | ||
|  | SignalMeter::~SignalMeter() | ||
|  | { | ||
|  | 
 | ||
|  | } | ||
|  | 
 | ||
|  | void SignalMeter::paintEvent( QPaintEvent * ) | ||
|  | { | ||
|  |   QPainter p {this}; | ||
|  | 
 | ||
|  |     p.drawLine(22, 10, 22, 130); | ||
|  | 
 | ||
|  |     for ( int i = 0; i <= 60; i += 10 ) { | ||
|  |         p.drawLine(22, i*2 + 10, 25, i*2 + 10); | ||
|  |     } | ||
|  | 
 | ||
|  |     for ( int i = 10; i < 60; i += 10 ) { | ||
|  |         p.drawText(30, i*2 + 15, QString::number(60 - i)); | ||
|  |     } | ||
|  | } | ||
|  | 
 | ||
|  | void SignalMeter::setValue(int value) | ||
|  | { | ||
|  |     m_meter->setValue(value); | ||
|  |     m_label->setText(QString::number(value)); | ||
|  | } | ||
|  | 
 | ||
|  | void SignalMeter::resizeEvent(QResizeEvent *s) | ||
|  | { | ||
|  |     resize(s->size()); | ||
|  | } |