User:Mort Yao/iGEM
doc/readme.yaml
<html>
<style type="text/css">
.S0 {
font-family: 'Times New Roman';
color: #000000;
font-size: 11pt;
}
.S2 {
font-weight: bold;
font-family: 'Verdana';
color: #000088;
font-size: 10pt;
}
span {
font-family: 'Verdana';
color: #000000;
font-size: 10pt;
}
</style>
MosQt库 (版本号0.10.14 alpha):
MView.h, MView.cpp: MView视图类
MScene.h, MScene.cpp: MScene场景类
MItem.h, MItemPainter.hxx, MItem.cpp: MItem类
MWidget.h, MWidget.cpp: MWidget类
MSplashScreen.h, MSplashScreen.cpp: MSplashScreen启动窗口类
MosQt: 宏定义
示例1 demoUiXml:
.session: SciTE工作文件
.pro: qmake工程文件
.cpp: 源文件
.ui.xml: 界面XML
.project.xml: 工程XML
.make_win.sh: 编译生成 shell (for win)
.make_linux.sh: 编译生成 shell (for linux)
.make_freebsd.sh: 编译生成 shell (for freebsd)
.run_win.sh: 运行 shell (for win)
.run_linux.sh: 运行 shell (for linux)
.clean.sh: 清除所有 编译生成文件 shell
示例2 iGaME:
</html>
doc/docUiXml.yaml
<html>
<style type="text/css">
.S0 {
font-family: 'Times New Roman';
color: #000000;
font-size: 11pt;
}
.S2 {
font-weight: bold;
font-family: 'Verdana';
color: #000088;
font-size: 10pt;
}
span {
font-family: 'Verdana';
color: #000000;
font-size: 10pt;
}
</style>
UI XML Format Standard:
- 标签的属性应严格在标签< >内部,使用字符串定义
- 布尔值使用"0" / "1"定义
- 绝不能重复定义任何属性
- 允许定义暂时还不存在的属性,即使对外观没有任何影响
- 建议所有常用的属性都进行定义;某些属性不定义会取默认值,但不推荐
- 标签下的子标签视作对象的子对象,可以通过这种方式把对象作为其他对象的容器
- 标签必须严格使用"/>"或"</label>"关闭,否则会出现不可预料的后果
UI XML Reference:
id: 对象ID
name: 对象名称
category: 对象类别
x: 对象X坐标(子对象使用原点在父对象中心的笛卡尔坐标系,最高级别对象使用屏幕坐标系)
y: 对象Y坐标(子对象使用原点在父对象中心的笛卡尔坐标系,最高级别对象使用屏幕坐标系)
zValue: 对象Z坐标(决定叠放顺序)
width: 对象宽度
height: 对象高度
toolTip: 对象鼠标悬停提示文本
color: 对象颜色,默认"#000000"
isVisible: 对象是否可见,默认"1"
isSelectable: 对象是否鼠标点击可选,默认"0"
isMouseOverSelectable: 对象是否鼠标悬停可选,默认"0"
isMovable: 对象是否可拖动,默认"0"
isOutlineAvailable: 对象选中时轮廓是否可见
outlineColor: 对象轮廓的颜色
outlineWidth: 对象轮廓的粗细
isTextVisible: 对象文本是否可见
text: 对象文本
textColor: 对象文本的颜色
isAlternativeTextAvailable: 对象选中时替代文本是否可用
alternativeText: 对象选中时替代文本
alternativeTextColor: 对象选中时替代文本的颜色
isFigureVisible: 对象几何形状是否可见
figure: 对象几何形状:"RECTANGLE"(矩形);"ELLIPSE"(椭圆形);"ROUND_RECTANGLE"(圆角矩形)
figureColor: 对象几何形状的颜色
isAlternativeFigureAvailable: 对象选中时替代几何形状是否可用
alternativeFigure: 对象选中时替代几何形状
alternativeFigureColor: 对象选中时替代几何形状的颜色
isPixmapVisible: 对象像素图是否可见
pixmap: 对象像素图的文件路径
isAlternativePixmapAvailable: 对象选中时替代像素图是否可用
alternativePixmap: 对象选中时替代像素图的文件路径
</html>
doc/docMosQt.wiki
MosQt UI Framework
- 包含头文件,仅需一行:
#include <MosQt>
- 声明界面元素:
namespace uiObjects {
MView * mainView;
MScene * mainScene[10];
MItem *item[100];
MWidget *widget[100];
};
// 所有界面元素(包括:MView*、MScene*、MItem*、MWidget*)都必须在这里定义,否则会产生不可预料的后果= =
// namespace名称可自定
using namespace uiObjects;
- 主函数:
BEGIN(projectName)
{
/* 函数main(),用于描述和创建界面元素 */
// projectName->setPixmap("pixmapPath");
// 设置程序splash窗口图片,程序较大启动较慢时可能会需要
// 程序启动完成后splash窗口会自动析构,无需程序员管理
// mainView = new MView();
// 创建窗口
// mainView->show();
// 设置窗口为显示
// mainView->setWindowTitle("projectName");
// 设置窗口名称
// mainScene = new MScene();
// 创建场景
// mainView->setScene(mainScene);
// 将该场景设置窗口的当前场景
// 注意:场景用于管理界面对象
// 任何MView窗口必须通过当前场景来显示和处理对象,因此必须给窗口设置一个当前场景
// 一个场景可以被设置为多个窗口的当前场景,也可以不被设置为任何一个窗口的当前场景
// 显然,只有当前窗口的当前场景中的界面对象才是用户可见的
// item[0] = new MItem();
// 创建MItem界面对象
// mainScene->addItem(item[0]);
// 添加该对象到某个场景
// item[0]->setText("Hello world");
// 对象的各种属性设置。。。
// 注意:场景用于管理界面对象,一个对象可以被添加到多个场景,也可以不被添加到任何场景
// 显然,只有被添加到当前窗口的当前场景中的界面对象才是用户可见的
// QLineEdit* lineEdit = new QLineEdit;
// widget[0] = mainScene->addWidget(lineEdit);
// 创建MWidget界面对象
// MWidget界面对象是用于Qt原生widget的容器
// 可以通过MWidget向场景中添加任何Qt原生widget
}
END(projectName)
- 事件处理函数:
BEGIN_EVENTS(projectName)
{
/* 函数handler(),隐藏了Qt的signal-slot机制,
便于在一个函数内实现界面逻辑,且不需要创建任何新类 */
// MView* EVENT_VIEW 返回发生事件的窗口
// MScene* EVENT_SCENE 返回发生事件的场景
// MItem* EVENT_ITEM 返回发生事件的对象
// QMouseEvent* MOUSE_EVENT 返回发生的键盘事件
// QKeyEvent* KEY_EVENT 返回发生的键盘事件
// bool MOUSE_LEFT 鼠标左键点击事件
// bool MOUSE_RIGHT 鼠标右键点击事件
}
END_EVENTS(projectName)
MView Class Reference
The MView class provides a surface for managing scenes.
#include <MView>
Inherits QGraphicsView.
Public Functions
- MView(QWidget* parent)
- Constructor
- ~MView()
- Destructor
- QGraphicsScene* scene () const
- 返回当前场景
- void setScene(QGraphicsScene* scene)
- 设置当前场景
MScene Class Reference
The MScene class provides a surface for managing items.
#include <MScene>
Inherits QGraphicsScene.
Public Functions
- MScene(QObject* parent = 0)
- Constructor
- ~MScene()
- Destructor
- void addItem(QGraphicsItem* item)
- 添加对象到场景
- MItem* selectedItem() const;
- 返回场景中选中的对象(唯一)
- void selectedItemBringToFront();
- 将选中对象置于最前端
- void selectedItemSendToBack();
- 将选中对象置于最底端
void loadXml(const QString& fileName)
- 读取场景XML
void writeXml(const QString& fileName)
- 写入场景XML
MItem Class Reference
The MItem class provides graphical items.
#include <MItem>
Inherits QGraphicsItem.
Public Functions
- MItem()
- Constructor
- ~MItem()
- Destructor
- QString id()
- 返回对象ID
- void setId(QString id)
- 设置对象ID,默认值为空串
- QString name()
- 返回对象名称
- void setName(QString name)
- 设置对象名称,默认值为空串
- QString category()
- 返回对象类别
- void setCategory(QString category)
- 设置对象类别,默认值为空串
- QPointF pos()
- 返回对象坐标
- void setPos(qreal x, qreal y)
- 设置对象坐标,默认值为QPointF(0, 0)
- qreal x()
- 返回对象X坐标
- void setX(qreal x)
- 设置对象X坐标,默认值为0
- qreal y()
- 返回对象Y坐标
- void setY(qreal y)
- 设置对象Y坐标,默认值为0
- qreal zValue ()
- 返回对象Z坐标
- void setZValue(qreal z )
- 设置对象Z坐标(决定对象的叠放顺序),默认值为0
- void toolTip(const QString& toolTip)
- 返回鼠标悬停提示文本
- void setToolTip(const QString& toolTip)
- 设置鼠标悬停提示文本,默认值为空串
- bool isVisible ()
- 检查对象是否显示
- void setVisible(bool isVisible)
- 设置对象是否显示,默认值为true
- QColor color()
- 返回对象的颜色
- void setColor(QColor color)
- 设置对象的颜色,默认值为QColor(0, 0, 0)
- 注意,这里的颜色仅仅为形式上,不起任何作用
- 对象的事实外观颜色由其几何形状的颜色或像素图等属性决定
- qreal width()
- 返回对象宽度
- void setWidth(qreal width)
- 设置对象宽度,默认值为100
- qreal height()
- 返回对象高度
- void setHeight(qreal height)
- 设置对象高度,默认值为100
- qreal padding()
- 返回对象填充宽度
- void setPadding(qreal padding)
- 设置对象填充宽度,默认值为0
- qreal margin()
- 返回对象边缘宽度
- void setMargin(qreal margin)
- 设置对象边缘宽度,默认值为0
- bool isSelectable()
- 检查对象是否鼠标点击可选
- void setSelectable(bool isSelectable)
- 设置对象是否鼠标点击可选,默认值为false
- bool isMouseOverSelectable()
- 检查对象是否鼠标悬停可选
- void setMouseOverSelectable(bool isMouseOverSelectable)
- 设置对象是否鼠标悬停可选,默认值为false
- bool isMovable()
- 检查对象是否可拖动
- void setMovable(bool isMovable)
- 设置对象是否可拖动,默认值为false
- QColor outlineColor()
- 返回对象轮廓的颜色
- void setOutlineColor(QColor outlineColor)
- 设置对象轮廓的颜色,默认值为QColor(0, 0, 255)
- int outlineWidth()
- 返回对象轮廓的粗细
- void setOutlineWidth(int outlineWidth)
- 设置对象轮廓的粗细,默认值为5
- Qt::PenStyle outlineStyle()
- 返回对象轮廓的线型
- void setOutlineStyle(Qt::PenStyle outlineStyle)
- 设置对象轮廓的线型,默认值为Qt::SolidLine
- bool isOutlineAvailable()
- 检查选中时对象轮廓是否显示
- void setOutlineAvailable(bool isOutlineAvailable)
- 设置选中时对象轮廓是否显示,默认值为false
- QString text()
- 返回对象标签文字
- void setText(QString text)
- 设置对象标签文字,默认值为空串
- QFont textFont()
- 返回对象标签文字的字体
- void setTextFont(QFont textFont)
- 设置对象标签文字的字体,默认值为QFont("Arial", 10, QFont::Normal)
- QColor textColor()
- 返回对象标签文字的颜色
- void setTextColor(QColor textColor)
- 设置对象标签文字的颜色,默认值为QColor(255, 0, 0)
- bool isTextVisible()
- 检查对象标签文字是否显示
- void setTextVisible(bool isTextVisible)
- 设置对象标签文字是否显示,默认值为true
- QString alternativeText()
- 返回对象选中时替代标签文字
- void setAlternativeText(QString alternativeText)
- 设置对象选中时替代标签文字,默认值为空串
- QFont alternativeTextFont()
- 返回对象选中时替代标签文字的字体
- void setAlternativeTextFont(QFont alternativeTextFont)
- 设置对象选中时替代标签文字的字体,默认值为QFont("Arial", 10, QFont::Normal)
- QColor alternativeTextColor()
- 返回对象选中时替代标签文字的颜色
- void setAlternativeTextColor(QColor alternativeTextColor)
- 设置对象选中时替代标签文字的颜色,默认值为QColor(255, 0, 0)
- bool isAlternativeTextAvailable()
- 检查对象选中时替代标签文字是否可用
- void setAlternativeTextAvailable(bool isAlternativeTextAvailable)
- 设置对象选中时替代标签文字是否可用,默认值为false
- QString figure()
- 返回对象几何形状
- void setFigure(QString figure)
- 设置对象几何形状,默认值为"RECTANGLE"
- 可用几何形状:
- "RECTANGLE" - 矩形
- "ELLIPSE" - 椭圆形
- "ROUND_RECTANGLE" - 圆角矩形
- QColor figureColor()
- 返回对象几何形状的颜色
- void setFigureColor(QColor figureColor)
- 设置对象几何形状的颜色,默认值为QColor(0, 0, 0)
- bool isFigureVisible()
- 检查对象几何形状是否显示
- void setFigureVisible(bool isFigureVisible)
- 设置对象几何形状是否显示,默认值为false
- QString alternativeFigure()
- 返回对象选中时替代几何形状
- void setAlternativeFigure(QString alternativeFigure)
- 设置对象选中时替代几何形状,默认值为空串
- QColor alternativeFigureColor()
- 返回对象选中时替代几何形状的颜色
- void setAlternativeFigureColor(QColor alternativeFigureColor)
- 设置对象选中时替代几何形状的颜色,默认值为QColor(0, 0, 0)
- bool isAlternativeFigureAvailable()
- 检查对象选中时替代几何形状是否可用
- void setAlternativeFigureAvailable(bool isAlternativeFigureAvailable)
- 设置对象选中时替代几何形状是否可用,默认值为false
- QString pixmap()
- 返回对象像素图的文件路径
- void setPixmap(QString pixmap)
- 设置对象像素图的文件路径,默认值为空串
- bool isPixmapVisible()
- 检查对象像素图是否显示
- void setPixmapVisible(bool isPixmapVisible)
- 设置对象像素图是否显示,默认值为false
- QString alternativePixmap()
- 返回对象选中时替代像素图的文件路径
- void setAlternativePixmap(QString alternativePixmap)
- 设置对象选中时替代像素图的文件路径,默认值为空串
- bool isAlternativePixmapAvailable()
- 检查对象选中时替代像素图是否可用
- void setAlternativePixmapAvailable(bool isAlternativePixmapAvailable)
- 设置对象选中时替代像素图是否可用,默认值为false