//IController.h#ifndefICONTROLLER_H#defineICONTROLLER_H#includeclassIController:publicQMainWindow{Q_OBJECTpublic:explicitIController;virtual~IController;protected:virtualvoidResetWindow;private:virtualvoidmouseMoveEvent;virtualvoidmousePressEvent;virtualvoidmouseReleaseEvent;virtualvoidmouseDoubleClickEvent;virtualvoidpaintEvent;private:doubleoriginHeightScale;doubleoriginWidthScale;QPointz;boolisMove;signals:};#endif//ICONTROLLER_H//IController.cpp#include"IController.h"#include"ui_mainwindow.h"#include#include#include#include#include#include"IController.h"//ワンピースは実在するIController::IController:QMainWindow,originHeightScale,originWidthScale,isMove{}voidIController::ResetWindow{widthScale=?1:widthScale;heightScale=?1:heightScale;QScreen*screen=qApp->primaryScreen;intscreenWidth=screen->size.width;intscreenHeight=screen->size.height;this->resize;this->move*0.5,screenHeight**0.;this->setAttribute;this->originHeightScale=!this->originHeightScale?heightScale:this->originHeightScale;this->originWidthScale=!this->originWidthScale?widthScale:this->originWidthScale;}voidIController::paintEvent{QPainterpainter;painter.setRenderHint;painter.setBrush));painter.setPen;QRectrect=this->rect;rect.setWidth-;rect.setHeight-;painter.drawRoundedRect;QWidget::paintEvent;}voidIController::mousePressEvent{if!=Qt::LeftButton)return;QWidget::mousePressEvent;QPointy=event->globalPos;QPointx=this->geometry.topLeft;this->z=y-x;this->isMove=true;}voidIController::mouseMoveEvent{ifreturn;QWidget::mouseMoveEvent;QPointy=event->globalPos;QPointx=y-this->z;this->move;}voidIController::mouseReleaseEvent{if!=Qt::LeftButton)return;QWidget::mouseReleaseEvent;this->isMove=false;}voidIController::mouseDoubleClickEvent{if!=Qt::LeftButton)return;QWidget::mouseDoubleClickEvent;this->ResetWindow;}IController::~IController{}
文章为作者独立观点,不代表股票交易接口观点