首页 > 其他分享 >Qt中关于setGeometry()函数的问题

Qt中关于setGeometry()函数的问题

时间:2024-03-08 14:12:53浏览次数:27  
标签:widget Qt parent top setGeometry QDialog 窗体 函数

setGeometry是相对于父窗体来说的一种对子窗体进行位置设置的方法。
当我用在不同的窗体的时候发现有不同的形式

QMainWindow 和QWidget都是相对父窗体来说的,可是QDialog用上这个设置位置的函数,却是相对于桌面而言的。但是按照道理,他们都是继承的QWidget,setGeometry这个函数的功能应该是相同的才对呀。如果说QDialog是顶级窗体的话,那么QMainWindow也是顶级窗体,根本就解释不通,有木有人知道这个现象该怎么解释哇!我的dialog的父窗体不是空,是this, 也就是MainWindow或是widget。

 

正解:

 

这里是QT文档里的。
Note that QDialog (an any other widget that has type Qt::Dialog) uses the parent widget slightly differently from other classes in Qt. A dialog is always a top-level widget, but if it has a parent, its default location is centered on top of the parent's top-level widget (if it is not top-level itself). It will also share the parent's taskbar entry.

   QDialog即使有父窗口也是顶层窗口,所以位置是相对桌面的。但一般使用都是不设置它位置的,默认就是在父窗口中间。要设置相对父窗口的位置就先获得父窗口的全局位置,再相加吧。

 

*********************

想要setGeometry有效,控件就不能在布局里。
如果使用了布局,控件大小有布局自动控制。

标签:widget,Qt,parent,top,setGeometry,QDialog,窗体,函数
From: https://www.cnblogs.com/dacui/p/18060837

相关文章

  • C++ Qt开发:QFileSystemModel文件管理组件
    Qt是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用QFileSystemModel组件实现文件管理器功能。QFileSystemModel是Qt框架中的一个关键类,用于......
  • Qt开发,报错:Error while building/deploying project untitled (kit: ....)
    1、问题描述 Qt开发,编译时,报错如下:1Cannotfindfile:F:\linux\...\Console.pro.213:49:47:进程"D:\Qt\Qt5.14.2\5.14.2\msvc2017_64\bin\qmake.exe"退出,退出代码2。3Errorwhilebuilding/deployingprojectConsole(kit:DesktopQt5.14.2MSVC201764bit)4......
  • SpringBoot 支付宝付款接口类、支付异步回调函数模板
    1.付款接口类1.1.引入Maven依赖<dependency><groupId>com.alipay.sdk</groupId><artifactId>alipay-sdk-java</artifactId><version>4.38.221.ALL</version></dependency>1.2.将下面代码保存为AlipayTemplate.java@Config......
  • CUDA指针数组Kernel函数
    技术背景在前面的一篇文章中,我们介绍了在C++中使用指针数组的方式实现的一个不规则的二维数组。那么如果我们希望可以在CUDA中也能够使用到这种类似形式的不规则的数组,有没有办法可以直接实现呢?可能过程会稍微有一点麻烦,因为我们需要在Host和Device之间来回的转换,需要使用到很多C......
  • python函数参数检查
    参数检查调用函数时,如果参数个数不对,Python解释器会自动检查出来,并抛出TypeError:>>>my_abs(1,2)Traceback(mostrecentcalllast):File"<stdin>",line1,in<module>TypeError:my_abs()takes1positionalargumentbut2weregiven但是如果参数类型不对,Python......
  • PostgreSQL的generate_series函数应用
    一、简介PostgreSQL中有一个很有用处的内置函数generate_series,可以按不同的规则产生一系列的填充数据。二、语法函数参数类型返回类型描述generate_series(start,stop)int或bigintsetofint或setofbigint(与参数类型相同)生成一个数值序列,从start到stop,步进......
  • MCU上三角函数运算速度对比
    前言使用170M主频M4f核芯片(STM32G431),启用浮点加速,启用arm_dsp库。对比条件:方式输入输出cordicq15q15arm_dsp_q15q15q15arm_dsp_q31q31q31arm_dsp_f32floatfloatmathfloatfloatmathdoubledoubletaylor6floatfloat测试代码硬......
  • pycharm进入函数定义快捷键
    在PyCharm中,你可以通过使用快捷键来快速进入函数,而不必通过鼠标点击。以下是几个常用的快捷键:用鼠标选择函数后:Ctrl+B:进入函数的定义。Ctrl+Alt+B:进入函数的实现(如果有的话)。Ctrl+Shift+I:查看函数的文档字符串。Ctrl+Shift+T:打开一个弹出窗口,可以快速定位和......
  • Python中怎么使用Spark的spark.read.format()函数读取MySQL数据库中的数据
    1.准备工作:安装pyspark库(pipinstallpyspark)2.代码:#导入模块frompyspark.sqlimportSparkSession#创建Spark会话对象spark=SparkSession.builder\.appName("ReadMySQL")\.getOrCreate()#或者写成一行spark=SparkSession.builder.appName("ReadMySQL&qu......
  • static修饰静态成员变量and静态成员函数
    在成员变量和成员函数之前加上static关键词,称为静态成员静态成员分为:(1)静态成员变量所有对象都共享同一份数据编译阶段就分配内存类内生命,类外进行初始化操作(2)静态成员函数程序共享一个函数静态成员函数只能访问静态成员变量实例代码1(静态成员变量):#include<iostrea......