资源简介
详情见我的博客:http://blog.csdn.net/what951006/article/details/52831183
无bug !和windows自带效果一样!且跨平台!
代码片段和文件信息
#include “AbsframeLessAutoSize.h“
#include
AbsframeLessAutoSize::AbsframeLessAutoSize(QWidget *parent)
: QWidget(parent)
{
m_border=4;
m_state.MousePressed=false;
setMinimumSize(400550);
setMaximumSize(800700);
setMouseTracking(true);
setWindowFlags(Qt::framelessWindowHint); //setting windows tool bar icon invisiable
setSizePolicy(QSizePolicy::ExpandingQSizePolicy::Expanding);
}
void AbsframeLessAutoSize::mouseMoveRect(const QPoint& p)
{
if(!m_state.IsPressBorder)
{
if( p.x()>width()-m_border&&p.y()m_border)//right side
{
setCursor(Qt::SizeHorCursor);
m_curPos= CursorPos::Right;
}
else if(p.x()m_border)//left side;
{
setCursor(Qt::SizeHorCursor);
m_curPos= CursorPos::Left;
}
else if(p.y()>height()-m_border&&p.x()>m_border&&p.x() {
setCursor(Qt::SizeVerCursor);
m_curPos= CursorPos::Bottom;
}
else if(p.y()m_border&&p.x() {
setCursor(Qt::SizeVerCursor);
m_curPos=CursorPos::Top;
}
//corner
else if(p.y()width()-m_border)
{
setCursor(Qt::SizeBDiagCursor);
m_curPos=CursorPos::TopRight;
}
else if(p.y() {
setCursor(Qt::SizeFDiagCursor);
m_curPos=CursorPos::TopLeft;
}
else if(p.x()>m_border&&p.y()>height()-m_border)
{
setCursor(Qt::SizeFDiagCursor);
m_curPos=CursorPos::BottomRight;
}
else if(p.x()height()-m_border)
{
setCursor(Qt::SizeBDiagCursor);
m_curPos=CursorPos::BottomLeft;
}
////
else
{
setCursor(Qt::ArrowCursor);
}
}
else
{
switch (m_curPos) {
case CursorPos::Right:
{
int setW=QCursor::pos().x()-x();
if(minimumWidth()<=setW&&setW<=maximumWidth())
setGeometry(x()y()setWheight());
break;
}
case CursorPos::Left:
{
int setW=x()+width()-QCursor::pos().x();
int setX=QCursor::pos().x();
if(minimumWidth()<=setW&&setW<=maximumWidth())
setGeometry(setXy()setWheight());
break;
}
case CursorPos::Bottom:
{
int setH=QCursor::pos().y()-y();
if(minimumHeight()<=setH&&setH<=maximumHeight())
setGeometry(x()y()width()setH);
break;
}
case CursorPos::Top:
{
int setH=y()-QCursor::pos().y()+height();
if(minimumHeight()<=setH
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 6952 2016-10-16 16:39 Absfr
文件 850 2016-10-16 16:39 Absfr
文件 16510464 2016-10-16 16:40 Absfr
文件 390 2016-10-16 09:10 Absfr
文件 203 2016-10-16 09:10 Absfr
目录 0 2016-10-16 16:41 Absfr
----------- --------- ---------- ----- ----
16518859 6
相关资源
- 用C++、Qt实现的记事本,模拟Windows自
- Qt5 C++ GUI Programming Cookbook pdf 0分
- 《C++ GUI Qt 4编程》第二版源代码
- Qt5.11.1+VS2017 X64 C++动态编译 串口通讯
- Qt5教程(带书签目录)
- 百度语音识别api QT window下 调试应用
- C++ Qt5 范例开发大全.pdf
- qt c++ webQQ 源码
- EasySize
- Qt版推箱子源码-鼠标键盘功能都有
- C++ GUI Qt 4编程第二版随书源码
- 基于QT的简单文本编辑器
- Qt5教程-传智播客C++学院
- 空间前方交回Qt c++程序
- QtWebService开发
- 使用qwtPlot3D实现三维曲线、轨迹绘制
- qt与html通信
- QT c++ dijkstra最短路径工程源码
- 酒店管理系统 QT/C++
- 传智播客_Qt 教程 +代码.7z
- c++QT5新版画任意阶贝塞尔曲线完整工
- c++与Qt使用数据库MySQL进行数据的增删
- C++调用海康工业相机SDK采集图像的简
- Osg3.4.1Earth2.8-Qt5.6-VC2013-X86-Release.rar
- C++ Qt设计模式 第2版(中文版).pdf
- C++ GUI Qt4编程第二版(中文高清PDF扫描
- C++结合Qt库编写的背单词软件源代码
- 基于qt的聊天室
- C++ GUI Qt 4编程(第二版)(中文高清
- qt-eclipse-integration-linux.x86-1.6.1.tar.gz(
评论
共有 条评论