User:Mort Yao/iGEM: Difference between revisions
(New page: == 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: 'Verdan...) |
|||
(2 intermediate revisions by the same user not shown) | |||
Line 98: | Line 98: | ||
== doc/docUiXml.yaml == | == doc/docUiXml.yaml == | ||
<html> | |||
<style type="text/css"> | <style type="text/css"> | ||
Line 250: | Line 252: | ||
</html> | </html> | ||
== doc/docMosQt.wiki == | == doc/docMosQt.wiki == | ||
Line 258: | Line 258: | ||
=== MosQt UI Framework === | === MosQt UI Framework === | ||
* 包含头文件,仅需一行: | |||
#include <MosQt> | #include <MosQt> | ||
* 声明界面元素: | |||
namespace uiObjects { | namespace uiObjects { | ||
MView * mainView; | MView * mainView; | ||
Line 278: | Line 275: | ||
''' | ''' | ||
* 主函数: | |||
BEGIN(projectName) | BEGIN(projectName) | ||
{ | { | ||
Line 322: | Line 318: | ||
} | } | ||
END(projectName) | END(projectName) | ||
* 事件处理函数: | |||
BEGIN_EVENTS(projectName) | BEGIN_EVENTS(projectName) | ||
{ | { | ||
Line 342: | Line 336: | ||
} | } | ||
END_EVENTS(projectName) | END_EVENTS(projectName) | ||
=== MView Class Reference === | === MView Class Reference === | ||
Line 348: | Line 341: | ||
The MView class provides a surface for managing scenes. | The MView class provides a surface for managing scenes. | ||
#include <MView> | #include <MView> | ||
Inherits QGraphicsView. | Inherits QGraphicsView. | ||
Line 374: | Line 367: | ||
The MScene class provides a surface for managing items. | The MScene class provides a surface for managing items. | ||
#include <MScene> | #include <MScene> | ||
Inherits QGraphicsScene. | Inherits QGraphicsScene. | ||
Line 412: | Line 405: | ||
The MItem class provides graphical items. | The MItem class provides graphical items. | ||
#include <MItem> | #include <MItem> | ||
Inherits QGraphicsItem. | Inherits QGraphicsItem. |
Latest revision as of 18:59, 20 October 2010
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>
<span><span class="S0"></span><br />
<span class="S2">MosQt库 (版本号0.10.14 alpha)</span>:<br />
<span class="S2"> MView.h, MView.cpp</span>:<span class="S0"> MView视图类</span><br />
<span class="S2"> MScene.h, MScene.cpp</span>:<span class="S0"> MScene场景类</span><br />
<span class="S2"> MItem.h, MItemPainter.hxx, MItem.cpp</span>:<span class="S0"> MItem类</span><br />
<span class="S2"> MWidget.h, MWidget.cpp</span>:<span class="S0"> MWidget类</span><br />
<span class="S2"> MSplashScreen.h, MSplashScreen.cpp</span>:<span class="S0"> MSplashScreen启动窗口类</span><br />
<span class="S2"> MosQt</span>:<span class="S0"> 宏定义</span><br />
<br />
<span class="S2">示例1 demoUiXml</span>:<br />
<span class="S2"> .session</span>:<span class="S0"> SciTE工作文件</span><br />
<span class="S2"> .pro</span>:<span class="S0"> qmake工程文件</span><br />
<span class="S2"> .cpp</span>:<span class="S0"> 源文件</span><br />
<span class="S2"> .ui.xml</span>:<span class="S0"> 界面XML</span><br />
<span class="S2"> .project.xml</span>:<span class="S0"> 工程XML</span><br />
<span class="S2"> .make_win.sh</span>:<span class="S0"> 编译生成 shell (for win)</span><br />
<span class="S2"> .make_linux.sh</span>:<span class="S0"> 编译生成 shell (for linux)</span><br />
<span class="S2"> .make_freebsd.sh</span>:<span class="S0"> 编译生成 shell (for freebsd)</span><br />
<span class="S2"> .run_win.sh</span>:<span class="S0"> 运行 shell (for win)</span><br />
<span class="S2"> .run_linux.sh</span>:<span class="S0"> 运行 shell (for linux)</span><br />
<span class="S2"> .clean.sh</span>:<span class="S0"> 清除所有 编译生成文件 shell</span><br />
<br />
<span class="S2">示例2 iGaME</span>:<br />
<br />
<br />
<span class="S0"></span></span>
</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>
<span><span class="S0"></span><br />
<span class="S2">UI XML Format Standard</span>:<br />
<br />
<span class="S0"> - 标签的属性应严格在标签< >内部,使用字符串定义</span><br />
<span class="S0"> - 布尔值使用"0" / "1"定义</span><br />
<span class="S0"> - 绝不能重复定义任何属性</span><br />
<span class="S0"> - 允许定义暂时还不存在的属性,即使对外观没有任何影响</span><br />
<span class="S0"> - 建议所有常用的属性都进行定义;某些属性不定义会取默认值,但不推荐</span><br />
<span class="S0"> - 标签下的子标签视作对象的子对象,可以通过这种方式把对象作为其他对象的容器</span><br />
<span class="S0"> - 标签必须严格使用"/>"或"</label>"关闭,否则会出现不可预料的后果</span><br />
<br />
<span class="S2">UI XML Reference</span>:<br />
<br />
<span class="S2"> id</span>:<span class="S0"> 对象ID</span><br />
<span class="S2"> name</span>:<span class="S0"> 对象名称</span><br />
<span class="S2"> category</span>:<span class="S0"> 对象类别</span><br />
<span class="S0"> </span><br />
<span class="S2"> x</span>:<span class="S0"> 对象X坐标(子对象使用原点在父对象中心的笛卡尔坐标系,最高级别对象使用屏幕坐标系)</span><br />
<span class="S2"> y</span>:<span class="S0"> 对象Y坐标(子对象使用原点在父对象中心的笛卡尔坐标系,最高级别对象使用屏幕坐标系)</span><br />
<span class="S2"> zValue</span>:<span class="S0"> 对象Z坐标(决定叠放顺序)</span><br />
<br />
<span class="S2"> width</span>:<span class="S0"> 对象宽度</span><br />
<span class="S2"> height</span>:<span class="S0"> 对象高度</span><br />
<span class="S0"> </span><br />
<span class="S2"> toolTip</span>:<span class="S0"> 对象鼠标悬停提示文本</span><br />
<span class="S2"> color</span>:<span class="S0"> 对象颜色,默认"#000000"</span><br />
<span class="S0"> </span><br />
<span class="S2"> isVisible</span>:<span class="S0"> 对象是否可见,默认"1"</span><br />
<span class="S2"> isSelectable</span>:<span class="S0"> 对象是否鼠标点击可选,默认"0"</span><br />
<span class="S2"> isMouseOverSelectable</span>:<span class="S0"> 对象是否鼠标悬停可选,默认"0"</span><br />
<span class="S2"> isMovable</span>:<span class="S0"> 对象是否可拖动,默认"0"</span><br />
<span class="S0"> </span><br />
<span class="S2"> isOutlineAvailable</span>:<span class="S0"> 对象选中时轮廓是否可见</span><br />
<span class="S2"> outlineColor</span>:<span class="S0"> 对象轮廓的颜色</span><br />
<span class="S2"> outlineWidth</span>:<span class="S0"> 对象轮廓的粗细</span><br />
<span class="S0"> </span><br />
<span class="S2"> isTextVisible</span>:<span class="S0"> 对象文本是否可见</span><br />
<span class="S2"> text</span>:<span class="S0"> 对象文本</span><br />
<span class="S2"> textColor</span>:<span class="S0"> 对象文本的颜色</span><br />
<span class="S2"> isAlternativeTextAvailable</span>:<span class="S0"> 对象选中时替代文本是否可用</span><br />
<span class="S2"> alternativeText</span>:<span class="S0"> 对象选中时替代文本</span><br />
<span class="S2"> alternativeTextColor</span>:<span class="S0"> 对象选中时替代文本的颜色</span><br />
<span class="S0"> </span><br />
<span class="S2"> isFigureVisible</span>:<span class="S0"> 对象几何形状是否可见</span><br />
<span class="S2"> figure</span>:<span class="S0"> 对象几何形状:"RECTANGLE"(矩形);"ELLIPSE"(椭圆形);"ROUND_RECTANGLE"(圆角矩形)</span><br />
<span class="S2"> figureColor</span>:<span class="S0"> 对象几何形状的颜色</span><br />
<span class="S2"> isAlternativeFigureAvailable</span>:<span class="S0"> 对象选中时替代几何形状是否可用</span><br />
<span class="S2"> alternativeFigure</span>:<span class="S0"> 对象选中时替代几何形状</span><br />
<span class="S2"> alternativeFigureColor</span>:<span class="S0"> 对象选中时替代几何形状的颜色</span><br />
<span class="S0"> </span><br />
<span class="S2"> isPixmapVisible</span>:<span class="S0"> 对象像素图是否可见</span><br />
<span class="S2"> pixmap</span>:<span class="S0"> 对象像素图的文件路径</span><br />
<span class="S2"> isAlternativePixmapAvailable</span>:<span class="S0"> 对象选中时替代像素图是否可用</span><br />
<span class="S2"> alternativePixmap</span>:<span class="S0"> 对象选中时替代像素图的文件路径</span><br />
<br />
<br />
<span class="S0"></span></span>
</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