#include "WindowRuntimeView.h" #include "WindowAppDesignerView.h" #include "selectwidget.h" WindowRuntimeView::WindowRuntimeView(QWidget *parent) : QWidget(parent) { // 初始化Logo贴图 this->initLogoImage(); } WindowRuntimeView::~WindowRuntimeView() { } /// /// 初始化Logo贴图 /// void WindowRuntimeView::initLogoImage() { m_pLogoImage = new QPixmap(64, 64); m_pLogoImage->load("./image/logo64.png"); } /// /// 发布对应的页面 /// /// /// /// bool WindowRuntimeView::runPage(WindowAppDesignerView* pPage, bool bMainPage /* = false */) { // 首先创建一个等尺寸的窗体 // 枚举该页面所有的控件,照着复制一份到Runtime窗体中 QList pControls = pPage->getAllControls(); // 如果不是主页的话,界面先不显示,等着从主页切换时才显示 return true; } /// /// 绘制界面背景 /// /// void WindowRuntimeView::paintEvent(QPaintEvent*) { QRect rc = this->geometry(); // 在当前界面的右上角显示logo QPainter painter(this); painter.drawPixmap(rc.right() - 100, rc.top(), 64, 64, *m_pLogoImage); } /// /// 启动所有的UI界面(目前先只支持启动所有页面的方式) /// void WindowRuntimeView::runAll( WindowAppDesignerView* pMainPage, QHash allPages ) { // 首先发布主页 runPage(pMainPage); // 根据每一个 WindowAppDesignerView 生成对应的页面,并且把所有的控件都分布上去 QHashIterator it(allPages); while (it.hasNext()) { runPage(it.next().value()); } }