You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nmWTAI-Platform/Include/iGui/iGuiGridPty/iGridRowItemUnt.h

50 lines
1.5 KiB
C

#pragma once
#include "iGridRowItem.h"
// 对于有单位的生成,目前默认所有的均有单位,为了对齐
class X_GUI_GRIDPTY_EXPORT iGridRowItemUnt : public iGridRowItem
{
Q_OBJECT
public:
explicit iGridRowItemUnt(iGridRowItem* pParent = nullptr);
~iGridRowItemUnt();
// 范围
virtual void setBounds(QRectF& rt);//全局
virtual QRectF getRightBounds_Main();//右
virtual QRectF getRightBounds_Unt();
// 允许在外部调整参数,主要指的是产量单位,处理方/万方问题
virtual void setShowUnit(QString sUnit, QString sUnitRaw = "");
virtual QString getUnit(bool bUnitRaw = false);
protected:
// 绘图
virtual void paint(QPainter* pPainter);
// 显示单位文本信息
void _paintItemUnit(QPainter* pPainter, QString s);
// 原始的Painter drawText模式
// 该模式在Qt4下对于10^4m^3形式数字上标不正常字母上标还基本OK)
void _paintItemUnit_ByNormal(QPainter* pPainter, QString s, QRectF rt);
// TextDocument模式采用html模式
void _paintItemUnit_ByRich(QPainter* pPainter, QString s, QRectF rt);
// 格式化 10^4m^3 根据需要转为html
QString _formatToHtmlText(const QString& s, \
const bool bItalic, \
const QColor& clr, \
const int nFontSize);
protected:
QString m_sUnit;
QString m_sUnitRaw; //20250704
};