QT 让窗口(或控件)居中

代码如下:

[cpp] view plaincopyprint?

  1. XXX::XXX(QWidget *parent /* = 0 */)
  2. {
  3. ..................
  4. //注意,resize一定要放在这段代码的前面
  5. resize(300, 300);
  6. int cx, cy;
  7. //当parent为空时,窗口就显示在桌面中央
  8. if( NULL == parent )
  9. {
  10. cx = (QApplication::desktop()->width() - width()) / 2;
  11. cy = (QApplication::desktop()->height() - height()) / 2;
  12. }
  13. //否则,控件就显示在父部件中央
  14. else
  15. {
  16. cx = ( parent->width() - width() ) / 2;
  17. cy = ( parent->height() - height() ) / 2;
  18. }
  19. move(cx, cy);
  20. ....................
  21. }

这段代码太常用了,就发上来和大家共享一下吧,呵呵。

http://blog.csdn.net/small_qch/article/details/6973956

时间: 2024-12-16 20:51:39

QT 让窗口(或控件)居中的相关文章

[QT]在子窗口或者控件中绘图

要在子窗口中绘图,有2种方法: 1.重写子窗口的控件类(即继承该类,并重载其paintEvent()方法),实现其paintEvent()方法,然后在ui里面将原来的控件提升(promote to)为新类. (注:使用QPainter画图时,只能指定所属为当前类的引用Qpainter painter = new QPainter(this),所以应重写paintEvent()) 填写好新类的类名及头文件名. 2.使用事件过滤器,重写eventFilter(),在子窗口或控件中注册事件过滤器(in

VC++对话框(CDialog)的全屏显示及控件居中显示

在编写一些软件时,我们会比较偏向于比较简洁.清新的用户界面,同时为了避免其它程序或者桌面等影响使用者的注意力等,我们通常习惯将软件界面全屏,布满整个显示屏幕,与此同时,我们也将对界面中的控件位置进行相应的调整,让它们按屏幕的大小和其在对话框中的相对位置,居中显示. 下面结合实例说明(完整实例可在我的CSDN资源中下载:http://download.csdn.net/detail/margin1988/8337049): 在对话框的初始化函数OnInitDialog()中分三步作如下的操作: (

C++windows内核编程笔记day09_day10,对话框和窗口基本控件等的使用

//设置字体颜色 SetTextColor(hdc,RGB(255,0,0)); //窗口背景 //wce.hbrBackground=(HBRUSH)(COLOR_WINDOW+1); //wce.hbrBackground=CreateSolidBrush(RGB(0,0,255)); //设置字体背景 SetBkColor(hdc,RGB(0,0,200)); //设置字体背景模式 SetBkMode(hdc,TRANSPARENT);//字体背景透明 //创建字体,成功返回字体,失败返回

【工具】获取窗口与控件信息

[工具]获取窗口与控件信息 常言道,工欲善其事,必先利其器.在脚本中常见的一种操作是操作窗口或控件,在操作之前,首先必须获取目标的各种信息,这时就要用上辅助工具了.本文会介绍一些获取窗口.控件信息的常用工具,这里的先后顺序是随意安排.如果目前用的没什么问题就继续用着,如果对某些地方不满意则可试试其他.简单的截图不容易全面反映整个工具的功能和特色,使用才能获得真实体验. Active Window Info 评论:这个最初来自于 AutoIt3 且安装包中自带的工具,就无需过多介绍了.功能简陋,但

窗口和控件闪烁解决方案

对于MFC程序员来说做UI开发是痛苦的事情,不过大多数情况下我们都需要做这件事情,因为MFC自带的控件实在是太简陋了.这时候我们多半会涉及到自绘控件,随之而来的很可能就是窗口和控件的闪烁问题.这篇文章希望对MFC的窗口和控件闪烁问题做一个尽量全面的总结. 一.闪烁的原因 引起闪烁的原因很多,以至于网上有n多种解决闪烁问题的方法:如果你按照某一种方法做了仍然没有解决你的问题,请不要认定这个方法有问题,而是你没有对上号.如果你对这个解释不满意的话,我们就来深究一下到底是什么引起了闪烁.从原理上讲,闪

Xceed Docking Windows for .NET窗口分组控件下载及详细介绍

Xceed Docking Windows for .NET是一款窗口停靠和浮动.窗口自动隐藏.窗口分组控件,具有完美的外观,支持MDI应用程序以及tabbed-MDI,可以保存和加载窗口布局,可以包含任何.NET控件. 具体功能: 平稳的窗口自动隐藏功能 支持Visual Studio 窗口停靠界面 支持停靠一个窗口到浮动窗口,不仅是主窗口 停靠窗口根据主窗口自动调整大小 支持为Tabs设置图标 支持设置窗口显示和隐藏速度 创建任何数量的窗口分组以及水平和垂直tabbed 支持设置自动隐藏Ta

在Qt中使用ActiveX控件

Qt的windows商业版本提供了ActiveQt这个framework,使用这个组件我们可以在Qt中使用ActiveX控件,并且也开发基于Qt的ActiveX控件.ActiveQt包含了两个组件QAxContainer和QAxServer. l         QAxContainer允许我们使用COM对象,并且可以将将ActiveX控件嵌入到Qt程序中去. l         QAxServer可以将我们写的Qt控件导出为COM对象或者是ActiveX控件. 第一个例子我们来演示一下在Qt中

Qt Gui中父控件监听子控件的IO事件

父对象重新定义自己继承自QObject的函数bool eventFilter(QObject* watched, QEvent* event). 子控件安装父对象的eventFilter: 例如, QTableView * itsView = new QTableView; itsView->viewport()->installEventFilter(this); Qt Gui中父控件监听子控件的IO事件

C#中父窗口和子窗口之间控件互操作实例

本文实例讲述了C#中父窗口和子窗口之间控件互操作的方法.分享给大家供大家参考.具体分析如下: 很多人都苦恼于如何在子窗体中操作主窗体上的控件,或者在主窗体中操作子窗体上的控件.相比较而言,后面稍微简单一些,只要在主窗体中创建子窗体的时候,保留所创建子窗体对象即可. 下面重点介绍前一种,目前常见的有两种方法,基本上大同小异: 第一种,在主窗体类中定义一个静态成员,来保存当前主窗体对象,例如: 代码如下: public static yourMainWindow pCurrentWin = null

【WPF】总结窗口和控件拖拽的实现

前文 本文只对笔者学习掌握的一般的拖动问题的实现方法进行整理和讨论,包括窗口.控件等内容的拖动. 希望本文能对一些寻找此问题的解决方法的人和一些刚入门的人一些帮助.笔者为WPF初学者,能得到各位的批评指正也是荣幸万分.有更好更多的方法,劳烦与我分享,不胜感激. 本文的各种实现方法其他博客中也都有提及,很多文章内容详实,有图有代码,笔者就不重复造轮子了.就写写自己的一些理解吧. 关键词 Window, UserControls, drag, Thumb 参考资料 http://www.cnblog