在Qt中我们有时需要让一个控件在窗口居中或是在父控件中居中,而且在窗口拉伸时仍然保持正中央的位置。这里介绍一种方法,用到了主窗口的响应函数resizeEvent(QResizeEvent* event),这个响应函数在窗口的大小改变时会自动调用,该函数如下:

void MainWindow::resizeEvent(QResizeEvent* event)
{QMainWindow::resizeEvent(event);// Your code here
}

需要注意的是,在主程序窗口生成时,会首先调用下这个函数,这个函数可以返回主窗口的大小,但是不能准确的返回上面的控件的大小,这可能是个bug,所以我们如果想要找到上面的一个控件的正中间的位置,需要根据主窗口的大小的值来定位中间控件的中心。

void MainWindow::resizeEvent(QResizeEvent* event)
{QMainWindow::resizeEvent(event);// Your code hereint width = ui->centralWidget->width(), height = ui->centralWidget->height();ui->item->move(width * 0.25 - 80, (height - 320) / 2 - 8);ui->item->move(width * 0.25 - 80, (height - 320) / 2 - 8);
}

转载于:https://www.cnblogs.com/grandyang/p/4523632.html

Qt resizeEvent 控件居中设置相关推荐

  1. PyQt5 技术篇-鼠标移动控件显示提示,Qt Designer控件提示设置方法。

    当你想用一些图标作为按钮时,为了让用户可以更清楚的知道按钮的功能,加个提示再好不过了. 如图:当我鼠标移动到第一个图标,会提示-"开始". 设置方法: self.toolButto ...

  2. qtabwidget设置表头_Qt GUI图形图像开发之QT表格控件QTableView,QTableWidget复杂表头(多行表头) 及冻结、固定特定的行的详细方法与实例...

    我们在开发过程中对于表格使用频率还是挺高的,使用QT框架开发时候我们使用QTableView或者QTableWidget创建表格. 其中表格分为 表格头与表格体: 对于简单地表格,我们可以设置表头来满 ...

  3. android textview动态居中,android 设置textview文字居中或者控件居中

    有2种方法可以设置TextView文字居中: 一:在xml文件设置:android:gravity="center" 二:在程序中设置:txtTitle.setGravity(Gr ...

  4. Flutter Container、Center设置控件居中背景及其他属性

    Flutter Container.Center设置控件居中背景及其他属性 //控件可以居中Container(alignment: Alignment.bottomCenter,//设置控件内容的位 ...

  5. Qt界面优化:Qt窗体控件设置

    Qt界面优化:Qt窗体控件设置 文章目录 Qt界面优化:Qt窗体控件设置 一.效果图 1.鼠标移动点击效果 2. Qt托盘效果 二.使用步骤 1. 背景图片的添加 2. 控件样式的更改 3. Qt窗体 ...

  6. Qt Designer设置背景图片、颜色不影响其它组件小技巧,控件层级设置,组件的继承,styleSheet设置样式。

    话不多说,先看效果图,完美的设置背景. 如果正常设置背景的话其它的组件都会产生变化. 这是因为组件的继承. 最开始的面板就是父类,我们新增加的组件就是子类,默认都是继承的. 继承也有继承的好处. 比如 ...

  7. qt开关控件设计(手把手从零开始)

    从零开始手把手教你设计自己的qt控件 1 说明 1.1 显示效果 1.2 控件特性 1.3 设计方法 2 控件需求分析 2.1 必要需求 2.1 顺带需求(锦上添花) 3 功能设计 3.1 设计思路( ...

  8. QT QLabel控件(使用详解)

    本文详细的介绍了TextLabel控件的各种操作,例如:显示边框.设置文字.设置字体.设置信息提示框.状态提示.居中对齐.加载图片.自适应图片大小.设置位置大小.样式表等操作. 本文作者原创,转载请附 ...

  9. QT的控件加载显示图标或图片

    1.图标法: 图标法,图标是不可以居中的只能在左侧 代码如下:QTableWidgetItem *btItem = new QTableWidgetItem(); //控件 btItem->se ...

最新文章

  1. git命令合并分支代码
  2. 如何优化cocos2d程序的内存使用和程序大小:第一部分
  3. 【ACM】POJ 1852
  4. linux shell mkpasswd 生成随机密码
  5. PHP中单引号和双引号的区别
  6. 互联网金融售前心得数据脱敏分析 | PMCAFF微分享
  7. LaTeX 安装配置 OSX
  8. C#开发微信公众平台-就这么简单(附Demo)(转)
  9. Hessian Binary Web Service Protocol远程接口调用入门
  10. C++(18)--复制构造函数
  11. Maxcompute造数据-方法详解
  12. 视力差,不要怕!PNAS:服用超长链多不饱和脂肪酸可显著改善视觉和视网膜功能!...
  13. 招聘启事的正确阅读方式您知多少?
  14. 无人驾驶泊车?你要再多等等,百度Apollo和大众刚启动合作
  15. 让你的CSS更尽完美的技巧
  16. NodeManager节点启动报错内存不足
  17. Lenovo Quick Fix 联想智能解决工具
  18. 过采样:SMOTE算法
  19. 清华EMBA课程系列思考之十三(2) -- 管理心理学
  20. 单机游戏数据库探讨(MySQL嵌入式服务器的使用)(未完)

热门文章

  1. 中国人寿构建国内首个Silverlight企业级应用
  2. 使用AsyncEnumerator简化异步操作
  3. 商汤港理工提出基于聚类的联合建模时空关系的 GroupFormer 用于解决群体活动识别问题,性能SOTA...
  4. 终于开源!基于Overlap的激光雷达全局定位算法!
  5. 项目合作| 视频监控解决隧道洗车线的安全问题
  6. Python中的实用小技巧,可以省下不是事情,喜欢记得收下
  7. 高效新思路!实例分割算法!腾讯、华科出品!入选ICCV 2021!
  8. 收藏 | 机器学习领域必知必会的12种概率分布(附Python代码实现)
  9. Facebook田渊栋谈人生挑战与选择
  10. 前沿 | 从感知跃升到认知,阿里在人工智能认知领域的探索与应用