全局类型定义
1、BaseStyle 样式定义
struct BaseStyle
{
QString name; // 资源名称
};
2、TextFontDesc 字体样式定义
struct TextFontDesc
{
bool bold; // 是否加粗
bool italic; // 是否斜体
bool overline; // 是否有上划线
int fontSize; // 字体大小
bool underline; // 是否有下划线
bool strikeline; // 是否有中划线
QString fontFamily; // 字体名称
TextFontDesc()
{
bold = false;
italic = false;
overline = false;
fontSize = 12;
underline = false;
strikeline = false;
fontFamily = "思源黑体";
}
};
3、TextStyleDesc 文字样式定义
struct TextStyleDesc : public BaseStyle
{
TextFontDesc _font; // 字体定义
QColor color; // 文字样式颜色
int offsetX; // 文字水平偏移量
int offsetY; // 文字垂直偏移量
bool isHor; // 是否是水平文字
bool isSingleLine; // 是否使用单行显示
DockLayoutType dockHor; // 水平对齐方向
DockLayoutType dockVer; // 垂直对齐方向
ElideMode elideMode; // 文字省略显示模式
TextStyleDesc()
{
isHor = true;
isSingleLine = true;
dockVer = UIG_MIDDLE_CENTER;
dockHor = UIG_LEFT_TOP;
elideMode = UIG_ELIDE_RIGHT;
offsetY = 0;
offsetX = 0;
}
};
4、enum ElideMode 文字省略模式
{
UIG_EILDE_LEFT, // 省略号在左侧
UIG_ELIDE_RIGHT,// 省略号在右侧
UIG_ELIDE_MIDDLE, // 省略号在中间
UIG_ELIDE_NONE // 没有省略号
};
5、struct FillStyle 填充样式
struct FillStyle : public BaseStyle
{
bool _bShow; // 是否使用
bool _bUseColor; // 是否填充颜色,否则使用图片绘制
FillRes _fillColor; // 填充颜色
ImageRes _imageRes; // 填充图片
FillStyle()
{
_bShow = true;
_bUseColor = true;
}
void reset()
{
_bShow = true;
_bUseColor = true;
_fillColor.reset();
_imageRes.reset();
}
};
6、填充颜色信息
struct FillRes
{
QColor fillColor; // 填充颜色
QColor endFillColor; // 结束颜色
QColor borderColor; // 边框颜色
bool gradientFill; // 是否使用渐变色
int roundSize; // 圆角大小
int borderWidth; // 边框大小
int gradientAngle; // 渐变色方向
bool drawBorder; // 是否绘制边框
bool borderLeft; // 是否绘制左侧边框
bool borderTop; // 是否绘制顶部边框
bool borderRight; // 是否绘制右侧边框
bool borderBottom; // 是否绘制底部边框
}
7、图标样式信息
struct IconStyleDesc
{
int _offsetX; // 水平偏移量
int _offsetY; // 垂直偏移量
DockLayoutType _horDockType; // 水平停靠方向
DockLayoutType _verDockType; // 垂直停靠方向
}
8、停靠参数
struct DockLayoutData
{
DockLayoutType _horDock; // 水平停靠方式
DockLayoutType _verDock; // 垂直停靠
DockLayoutSizeType _widthType;
DockLayoutSizeType _heightType;
int _x;
int _y;
int _right_width;
int _bottom_height;
void reset()
{
_x = 0;
_y = 0;
_right_width = 0;
_bottom_height = 0;
_horDock = UIG_LEFT_TOP;
_verDock = UIG_LEFT_TOP;
_widthType = UIG_DOCK_SIZE;
_heightType = UIG_DOCK_SIZE;
}
};
9、控件状态
enum CtrlState
{
UIG_NORMAL = 0, //正常
UIG_HOT, //高亮
UIG_PRESSED, //按下
UIG_DISABLE, //禁用
UIG_STATE_COUNT,
UIG_STATE_ALL = UIG_STATE_COUNT
};