[Qt] 事件机制(四)
2024-09-07 11:35:06
滚轮事件:滚动滚轮实现窗口大小缩放
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
最新文章
- 命令查看DB restore进度
- JS定义函数的两种方式:函数声明和函数表达式
- The import java.io cannot be resolved
- Mac上常用的一些命令
- sprint3(第六天)
- EV电池指标及特点
- Cocos2d-x中触摸事件
- POJ_1742_Coins_(动态规划,多重部分和)
- 6th day
- 给Eclipse安装Google app engine插件
- Android中网络流量控制(防火墙)——Iptables
- HDU 5323 DFS
- Python初级面试语法<;一>;
- 【转载】C#:使用双缓冲让界面绘制图形时避免闪烁
- Codeforces 608B. Hamming Distance Sum 模拟
- 【转】maven profile实现多环境打包
- iptables传输数据包的过程
- burpsuit常用功能
- mysql数据库使用sql命令窗口查询的数据,改成sql语句导入到mysql数据库中
- 基于Node.js的爬虫工具 – Node Crawler
热门文章
- Spring Boot 轻量替代框架 Solon 1.3.15 发布
- kubernetes:基于ab的压力测试
- Java(41-55)【 流程控制语句】
- 现代 CLI 和 GUI 方案指南
- Vue学习笔记(三)
- unzip解压中文乱码
- 《C++ primer》学习笔记整理
- Day17_103_IO_InputStreamReader 字符转换流
- Day17_102_IO_BufferedReader
- Rsync多模块复制、排除指定文件及目录以及数据无差异复制的应用实例