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); }
/** * 处理内容:窗体控件的创建 * @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&))); }
/** * 处理内容:鼠标双击事件 * @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(); } }
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(); }
/** * 处理内容:设置窗体尺寸大小 * @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(); }