预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

添加定义 #definePADDING2 enumDirection{UP=0,DOWN=1,LEFT,RIGHT,LEFTTOP,LEFTBOTTOM,RIGHTBOTTOM,RIGHTTOP,NONE}; 1、在头文件中类添加函数和变量 voidmouseReleaseEvent(QMouseEvent*event); voidmouseMoveEvent(QMouseEvent*event); voidmousePressEvent(QMouseEvent*event); voidregion(constQPoint&cursorGlobalPoint);//鼠标全局位置 boolisLeftPressDown;//判断左键是否按下 QPointdragPosition;//窗口移动拖动时需要记住的点 Directiondir;//窗口大小改变时,记录改变方向 2、在main函数中添加 this->setWindowFlags(Qt::FramelessWindowHint|Qt::WindowSystemMenuHint);//隐藏Dialog标题栏 this->setStyleSheet("QDialog{background-color:#FFFFFF}" "QDialog{border:2pxgroovegray;border-radius:10px;padding:2px4px}");//设置Dialog背景为白色,边框为圆角 this->setMinimumHeight(480); this->setMinimumWidth(1250); isLeftPressDown=false; this->dir=NONE; this->setMouseTracking(true);//追踪鼠标 3、实现方法 voidQDataTableDlg::region(constQPoint&cursorGlobalPoint) { QRectrect=this->rect(); QPointtl=mapToGlobal(rect.topLeft()); QPointrb=mapToGlobal(rect.bottomRight()); intx=cursorGlobalPoint.x(); inty=cursorGlobalPoint.y(); if(tl.x()+PADDING>=x&&tl.x()<=x&&tl.y()+PADDING>=y&&tl.y()<=y){ //左上角 dir=LEFTTOP; this->setCursor(QCursor(Qt::SizeFDiagCursor));//设置鼠标形状 }elseif(x>=rb.x()-PADDING&&x<=rb.x()&&y>=rb.y()-PADDING&&y<=rb.y()){ //右下角 dir=RIGHTBOTTOM; this->setCursor(QCursor(Qt::SizeFDiagCursor)); }elseif(x<=tl.x()+PADDING&&x>=tl.x()&&y>=rb.y()-PADDING&&y<=rb.y()){ //左下角 dir=LEFTBOTTOM; this->setCursor(QCursor(Qt::SizeBDiagCursor)); }elseif(x<=rb.x()&&x>=rb.x()-PADDING&&y>=tl.y()&&y<=tl.y()+PADDING){ //右上角 dir=RIGHTTOP; this->setCursor(QCursor(Qt::SizeBDiagCursor)); }elseif(x<=tl.x()+PADDING&&x>=tl.x()){ //左边 dir=LEFT; this->setCursor(QCursor(Qt::SizeHorCursor)); }elseif(x<=rb.x()&&x>=rb.x()-PADDING){ //右边 dir=RIGHT; this->setCursor(QCursor(Qt::SizeHorCursor)); }elseif(y>=tl.y()&&y<=tl.y()+PADDING){ //上边 dir=UP; this->setCursor(QCursor(Qt::SizeVerCursor)); }elseif(y<=rb.y()&&y>=rb.y()-PADDING){ //下边 dir=DOWN; this->setCursor(QCursor(Qt::SizeVerCursor)); }else{ //默认 dir=NONE; this->setCursor(QCursor(Qt::ArrowCursor