zoukankan      html  css  js  c++  java
  • qt5-QWidget坐标系统和大小和展示区域

    #include "win.h"
    #include <QPushButton>
    #include <QLabel>
    #include <QDebug>
    
    Win::Win(QWidget *parent)
        : QWidget(parent)
    {
        this->resize(500,400);
        QPushButton* btn=new QPushButton("按钮",this);
        btn->move(15,10);
        i=btn->x();  //返回控件的x坐标
        qDebug()<<i;
        i=btn->y();  //返回控件的y坐标
        qDebug()<<i;
    }

    相对于父控件的坐标(窗口框架左上角)

    顶层控件(没有父控件)则相对于桌面的坐标

    QPoint point;
    point=btn->pos();  //返回控件的坐标--QPoint(15,10)
    i=point.x();//提取x坐标
    i=point.y();//提取y坐标
    i=btn->width();  //控件的宽度,不包含任何窗口框架
    i=btn->height();  //控件的高度,不包含任何窗口框架
    QSize size;
    size=btn->size();  //返回控件的宽和高;width和height的组合--QSize(100, 30)
    i=size.width();  //提取宽度
    i=size.height();//提取高度
    QSize size;
    QRect rect;
    rect=btn->geometry(); //相对于父控件的位置和尺寸的组合---QRect(15,10 100x30)
    i=rect.x();  //提取x坐标
    i=rect.y();  //提取y坐标
    size=rect.size();//提取大小--宽和高
    i=rect.width(); //提取宽
    i=rect.height(); //提取高
    QSize s;
    s=w.frameSize();  //框架大小.一定要在show之后,否则数据错误--QSize(516, 439)
    QRect rect;
    rect=w.frameGeometry();  //框架位置和大小。一定要在show之后,否则数据错误--QRect(425,133 516x439)

    设置位置和尺寸:

    move(x, y)      操控的是x, y;也就是pos      包括窗口框架

    resize(width, height)      操控的是宽高    不包括窗口框架

    如果小于最小值,就无效

    setGeometry(x_noFrame, y_noFrame, width, height)    注意,此处参照为用户区域

    #在show之后设置

    adjustSize()    根据内容自适应大小 

    注意:单次有效,在设置内容后面使用

    this->setFixedSize(500,400);  // 设置固定尺寸

    最大和最小尺寸:

     minimumWidth()       返回最小尺寸的宽度

    minimumHeight()      返回最小尺寸的高度

    minimumSize()        返回最小尺寸     QtCore.QSize()

    maximumWidth()     返回最大尺寸的宽度

    maximumHeight()      返回最大尺寸的高度

    maximumSize()       返回最大尺寸

    setMaximumWidth()     返回设置最大宽度

    setMaximumHeight()    返回设置最大高度

    setMaximumSize()        返回设置最大尺寸

    setMinimumWidth()       返回设置最小宽度

    setMinimumHeight()       返回设置最小高度

    setMinimumSize()         返回设置最小尺寸

    注意  控件完全展示前后会有所差异

    控件内容展示区域: 

     setContentsMargins(左, 上, 右, 下)       设置控件内容展示区域到边框的距离

    getContentsMargins()      获取内容边距   (左, 上, 右, 下)  元组

    (50, 50, 0, 0)   就是展示区域到各边框的距离

    contentsRect()     获取控件内容展示区域的位置和大小。

    QRect(50, 50, 150, 50)    参数1参数2 :展示区域到控件左上角的坐标   参数3:展示区域的宽;参数4:展示区域的高    

    注意:必须是控件本身留够对应的大小

      

  • 相关阅读:
    JAVA数据结构--ArrayList动态数组
    LeetCode记录之35——Search Insert Position
    LeetCode记录之28——Implement strStr()
    LeetCode记录之27——Remove Element
    LeetCode记录之26——Remove Duplicates from Sorted Array
    LeetCode记录之21——Merge Two Sorted Lists
    LeetCode记录之20——Valid Parentheses
    LeetCode记录之14——Longest Common Prefix
    JMeter学习笔记01-安装环境
    Python3学习笔记35-编程练习题
  • 原文地址:https://www.cnblogs.com/liming19680104/p/11431466.html
Copyright © 2011-2022 走看看