滚轮事件:滚动滚轮实现窗口大小缩放

widget.h中增加:

protected:
void wheelEvent(QWheelEvent *event) Q_DECL_OVERRIDE;
void extendWindowsSize();
void shrinkWindowsSize();
private:
int m_originalWidth;
int m_originalHeight;

widget.cpp中增加:

 1 Widget::Widget(QWidget *parent) :
2 QWidget(parent),
3 ui(new Ui::Widget)
4 {
5 ...
6 m_originalWidth=this->width();
7 m_originalHeight=this->height();
8 }
9 void Widget::wheelEvent(QWheelEvent *event){
10 QWidget::wheelEvent(event);
11 QPoint scroll = event->angleDelta();
12 if(scroll.y()>0){
13 extendWindowsSize();
14 }else{
15 shrinkWindowsSize();
16 }
17 }
18 void Widget::extendWindowsSize(){
19 if(this->width()>m_originalWidth+300){
20 return;
21 }
22 this->setMaximumSize(this->width()+10,this->height()+10);
23 this->setMinimumSize(this->width()+10,this->height()+10);
24 }
25 void Widget::shrinkWindowsSize(){
26 if(this->width()<m_originalWidth-300){
27 return;
28 }
29 this->setMinimumSize(this->width()-10,this->height()-10);
30 this->setMaximumSize(this->width()-10,this->height()-10);
31 }

参考:

https://blog.csdn.net/qq78442761/article/details/85104679

https://blog.csdn.net/qq78442761/article/details/81503006

void setResizeAnchor(ViewportAnchor anchor);

QGraphicsView::AnchorViewCenter

最新文章

  1. 命令查看DB restore进度
  2. JS定义函数的两种方式:函数声明和函数表达式
  3. The import java.io cannot be resolved
  4. Mac上常用的一些命令
  5. sprint3(第六天)
  6. EV电池指标及特点
  7. Cocos2d-x中触摸事件
  8. POJ_1742_Coins_(动态规划,多重部分和)
  9. 6th day
  10. 给Eclipse安装Google app engine插件
  11. Android中网络流量控制(防火墙)——Iptables
  12. HDU 5323 DFS
  13. Python初级面试语法&lt;一&gt;
  14. 【转载】C#:使用双缓冲让界面绘制图形时避免闪烁
  15. Codeforces 608B. Hamming Distance Sum 模拟
  16. 【转】maven profile实现多环境打包
  17. iptables传输数据包的过程
  18. burpsuit常用功能
  19. mysql数据库使用sql命令窗口查询的数据,改成sql语句导入到mysql数据库中
  20. 基于Node.js的爬虫工具 – Node Crawler

热门文章

  1. Spring Boot 轻量替代框架 Solon 1.3.15 发布
  2. kubernetes:基于ab的压力测试
  3. Java(41-55)【 流程控制语句】
  4. 现代 CLI 和 GUI 方案指南
  5. Vue学习笔记(三)
  6. unzip解压中文乱码
  7. 《C++ primer》学习笔记整理
  8. Day17_103_IO_InputStreamReader 字符转换流
  9. Day17_102_IO_BufferedReader
  10. Rsync多模块复制、排除指定文件及目录以及数据无差异复制的应用实例