一.描述
QLCDNumber主要用来展示LCD样式的数字,他可以显示几乎任何大小的数字,可以显示十进制,十六进制,八进制或二进制数,也可以展示一些简单的字符:A,B,C,D,E,F,h,L,o,O,P,r,s,u,U,Y以及空格和度(')。
二.功能作用
1.构造
m_lcdnumber = new QLCDNumber(this);
2.设置显示数值
m_lcdnumber->display(20);
m_lcdnumber->setHexMode();
3.获取数值
int num = m_lcdnumber->value();
m_edit->append(QString::number(num));
num = m_lcdnumber->intValue();
m_edit->append(QString::number(num));
4.位数限制
m_lcdnumber->setDigitCount(3);
5.进制模式设置
void setHexMode(); //十六进制
void setDecMode(); //十进制
void setOctMode(); //八进制
void setBinMode(); //二进制
6.溢出判定
我们还可以给定个数,通过下面的代码判定他是否溢出
bool res = m_lcdnumber->checkOverflow(2000000);
if(res){
m_edit->append("数值溢出");
}else{
m_edit->append("数值未溢出");
}
7.分段样式
有三种分段样式
m_lcdnumber->setSegmentStyle(QLCDNumber::Outline);
m_lcdnumber->setSegmentStyle(QLCDNumber::Filled);
m_lcdnumber->setSegmentStyle(QLCDNumber::Flat);
三.信号
QLCDNumber只有一个信号,在显示值溢出的时候触发,没有携带参数。
QLCDNumber::overflow();
源码:
mainwindow.c
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
this->resize(800,600);
m_lcdnumber = new QLCDNumber(this);
m_lcdnumber->setGeometry(20,20,300,60);
m_lcdnumber->setDigitCount(6);
m_lcdnumber->display("LCD-11");
// m_lcdnumber->display(20.00);
m_lcdnumber->setSmallDecimalPoint(true);
m_edit = new QTextEdit(this);
m_edit->setGeometry(20,100,600,400);
int num = m_lcdnumber->value();
m_edit->append(QString::number(num));
num = m_lcdnumber->intValue();
m_edit->append(QString::number(num));
bool res = m_lcdnumber->checkOverflow(2000000);
if(res){
m_edit->append("数值溢出");
}else{
m_edit->append("数值未溢出");
}
m_lcdnumber->setSegmentStyle(QLCDNumber::Flat);
// m_lcdnumber->setSegmentStyle(QLCDNumber::Filled);
// m_lcdnumber->setSegmentStyle(QLCDNumber::Outline);
}
MainWindow::~MainWindow()
{
delete ui;
}
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QLCDNumber>
#include <QTextEdit>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = nullptr);
~MainWindow();
private:
Ui::MainWindow *ui;
QLCDNumber *m_lcdnumber;
QTextEdit *m_edit;
};
#endif // MAINWINDOW_H