Пример #1
0
mainWidget::mainWidget(QWidget *parent)
    : QWidget(parent)
{
    resize(850,600);
    setWindowFlags(Qt::FramelessWindowHint);
    bkPicName=":/img/skin/oldWood.jpg";

    titleWidget *titleW=new titleWidget;
    connect(titleW,SIGNAL(showMax()),this,SLOT(showMax()));
    connect(titleW,SIGNAL(showMin()),this,SLOT(showMin()));
    connect(titleW,SIGNAL(showSkin()),this,SLOT(showSkinWidget()));

    toolWidget *toolW=new toolWidget;
    toolW->setFocus();
    contentWidget *contentW=new contentWidget;
    statusWidget *statusW=new statusWidget;

    QVBoxLayout *mainLayout=new QVBoxLayout;
    mainLayout->setSpacing(0);
    mainLayout->setContentsMargins(0,0,0,0);
    mainLayout->addWidget(titleW);
    mainLayout->addWidget(toolW);
    mainLayout->addWidget(contentW);
    contentW->setContentsMargins(1,5,1,0);
    mainLayout->addWidget(statusW);

    setLayout(mainLayout);
}
Пример #2
0
/**
 * 处理内容:窗体控件的创建
 * @param void
 * @return void
 */
void MainWnd::createWidget()
{
    // 创建标题栏
    m_pTitleBar = new TitleBar(this);
    connect(m_pTitleBar,SIGNAL(menuClicked()),SLOT(showMenu()));
    connect(m_pTitleBar,SIGNAL(minClicked()),SLOT(showMin()));
    connect(m_pTitleBar,SIGNAL(maxClicked()),SLOT(showMax()));
    connect(m_pTitleBar,SIGNAL(closeClicked()),SLOT(showClose()));

    // 创建对工具栏
    m_pToolBar = new ToolBar(this);

    // 创建内容区域
    m_pContentWidget = new Html5Viewer(this);
    m_pContentWidget->setOrientation(Html5Viewer::ScreenOrientationAuto);

    //m_pContentWidget->showExpanded();
    //m_pContentWidget->loadFile(QLatin1String("QtStyleSheetsReference.html"));

    QString strURL = SysSettings::Instance()->value(QString::fromLocal8Bit("url/turl"),QVariant()).toString();
    m_pContentWidget->loadUrl(QUrl(strURL));

    // 创建状态栏
    m_pStatuBar = new StatusBar(this);

//    // 右键菜单
//    connect(this,SIGNAL(customContextMenuRequested(const QPoint&)),this,SLOT(menuRight(const QPoint&)));
}
Пример #3
0
/**
 * 处理内容:鼠标双击事件
 * @param e 事件
 * @return void
 */
void MainWnd::mouseDoubleClickEvent(QMouseEvent *e)
{
    if(e->button() == Qt::LeftButton && e->y() <= m_pTitleBar->height())
    {
        // 最大化/还原
        showMax();

        // 更新最大化/还原状态
        if(m_pTitleBar != NULL) m_pTitleBar->updateMaxState();
    }
}
Пример #4
0
void MainWidget::mouseDoubleClickEvent(QMouseEvent *event)
{
    QRect rect = title_widget->geometry();
    if(event->x() > rect.x() &&
       event->y() > rect.y() &&
       event->x() < rect.width()&&
       event->y() < rect.height())
    {
        showMax();
    }else
        event->ignore();
}
Пример #5
0
/**
 * 处理内容:设置窗体尺寸大小
 * @param void
 * @return void
 */
void MainWnd::setWidgetGeometry()
{
    // 设置窗体初始大小
    setMinimumWidth(800);
    setMinimumHeight(600);

    // 居中显示
    QRect size = QApplication::desktop()->availableGeometry();
//    setGeometry(0,0,size.width(),size.height());
//    setMinimumSize(size.width(),size.height());
//    setMaximumSize(size.width(),size.height());
    this->move((size.width() - this->width()) / 2,(size.height() - this->height()) / 2);

    // 更新最大化/还原状态
    showMax();
    if(m_pTitleBar != NULL) m_pTitleBar->updateMaxState();
}