嵌入式Qt Qt 中的坐标系统

news/2025/2/11 18:16:19/

一.Qt中的坐标系统

实验1:窗口坐标大小

#include <QtGui/QApplication>
#include <QPushButton>
#include <QDebug>
#include "widget.h"
int main(int argc, char *argv[])
{QApplication a(argc, argv);Widget w;w.show();qDebug()<<"QWidget:";qDebug()<<w.x();qDebug()<<w.y();qDebug()<<w.width();qDebug()<<w.height();qDebug()<<"QWidget::geometry()";qDebug()<<w.geometry().x();qDebug()<<w.geometry().y();qDebug()<<w.geometry().width();qDebug()<<w.geometry().height();qDebug()<<"QWidget::frameGeometry()";qDebug()<<w.frameGeometry().x();qDebug()<<w.frameGeometry().y();qDebug()<<w.frameGeometry().width();qDebug()<<w.frameGeometry().height();return a.exec();
}QWidget:
192
192
400
300
QWidget::geometry()
201
230
400
300
QWidget::frameGeometry()
192
192
418
347

 

实验2: 每个平台有自己的最小窗口设定,如果代码中设置的窗口大小 小于平台规定大小,那么会默认调整为平台规定的最小大小。 

#include <QtGui/QApplication>
#include <QPushButton>
#include <QDebug>
#include "widget.h"
int main(int argc, char *argv[])
{QApplication a(argc, argv);Widget w;w.resize(100, 100);w.move(120, 120);w.show();qDebug()<<"QWidget:";qDebug()<<w.x();qDebug()<<w.y();qDebug()<<w.width();qDebug()<<w.height();qDebug()<<"QWidget::geometry()";qDebug()<<w.geometry().x();qDebug()<<w.geometry().y();qDebug()<<w.geometry().width();qDebug()<<w.geometry().height();qDebug()<<"QWidget::frameGeometry()";qDebug()<<w.frameGeometry().x();qDebug()<<w.frameGeometry().y();qDebug()<<w.frameGeometry().width();qDebug()<<w.frameGeometry().height();return a.exec();
}QWidget:
120
120
152
100
QWidget::geometry()
129
158
152
100
QWidget::frameGeometry()
120
120
170
147

 二.QPushButton 组件

实验3:QPushButton 使用

#include <QtGui/QApplication>
#include <QPushButton>
#include <QDebug>
#include "widget.h"
int main(int argc, char *argv[])
{QApplication a(argc, argv);Widget w;QPushButton b(&w);// 生成 QPushButton对象, 其父组件为 QWidgetQPushButton b1(&w);b.setText("Button");// 设置显示的字符串b.move(10, 10);     // 移动到坐标 (10, 10)b.resize(100, 50);  // 设置大小 width = 100, height = 25b1.setText("Button"); // 设置显示的字符串b1.move(120, 10);      // 移动到坐标 (120, 10)b1.resize(100, 50);   // 设置大小 width = 100, height = 25w.resize(100, 100);w.move(120, 120);w.show();qDebug()<<"QWidget:";qDebug()<<w.x();qDebug()<<w.y();qDebug()<<w.width();qDebug()<<w.height();qDebug()<<"QWidget::geometry()";qDebug()<<w.geometry().x();qDebug()<<w.geometry().y();qDebug()<<w.geometry().width();qDebug()<<w.geometry().height();qDebug()<<"QWidget::frameGeometry()";qDebug()<<w.frameGeometry().x();qDebug()<<w.frameGeometry().y();qDebug()<<w.frameGeometry().width();qDebug()<<w.frameGeometry().height();return a.exec();
}

 

小结:

Qt中的几何坐标以左上角为原定。

- 水平为X轴,从左向右为正向。

- 垂直为Y轴,从上到下为正向。

Qt 中的GUI组件以左上角进行定位。

Qt 中的GUI组件可以在坐标系统中进行大小设置。


http://www.ppmy.cn/news/1351721.html

相关文章

C语言系列1——详解C语言:变量、常量与数据类型

目录 写在开始1. 变量与常量的概念1.1. 变量1.2. 常量1.3. 变量与常量的比较1.4. 选择变量还是常量 2. C语言中的基本数据类型2.1. 整型&#xff08;Integer Types&#xff09;2.2. 浮点型&#xff08;Floating-Point Types&#xff09;2.3. 字符型&#xff08;Character Type&…

Ubuntu Desktop 打开和关闭 Terminal

Ubuntu Desktop 打开和关闭 Terminal 1. 打开 Terminal 快捷键2. Search your computer -> Terminal -> Lock to Launcher3. 关闭 Terminal 快捷键References 1. 打开 Terminal 快捷键 Ctrl Alt T 2. Search your computer -> Terminal -> Lock to Launcher 3…

开源免费的Linux服务器管理面板分享

开源免费的Linux服务器管理面板分享 一、1Panel1.1 1Panel 简介1.2 1Panel特点1.3 1Panel面板首页1.4 1Panel使用体验 二、webmin2.1 webmin简介2.2 webmin特点2.3 webmin首页2.4 webmin使用体验 三、Cockpit3.1 Cockpit简介3.2 Cockpit特点3.3 Cockpit首页3.4 Cockpit使用体验…

01.数据结构篇-链表

1.找出两个链表的交点 160. Intersection of Two Linked Lists (Easy) Leetcode / 力扣 例如以下示例中 A 和 B 两个链表相交于 c1&#xff1a; A: a1 → a2↘c1 → c2 → c3↗ B: b1 → b2 → b3 但是不会出现以下相交的情况&#xff0c;因为每个节点只有一个…

十、项目开发总结报告(软件工程)

1&#xff0e;引言 1.1编写目的 1.2项目背景 1.3定义 1.4参考资料 2&#xff0e;开发结果 2.1产品 2.2主要功能及性能 2.3所用工时 2.4所用机时 2.5进度 2.6费用 3&#xff0e;评价 3.1生产率评价 3.2技术方案评价 3.3产品质量评价 4&#xff…

java并发编程的艺术

java并发编程的艺术 第一章–并发的挑战 1。上下文切换 上下文切换是由于多任务操作系统需要管理多个线程或进程的并发 第二章—java并发机制的底层实现原理 java代码编译成字节码&#xff0c;然后被类加载器加载到jvm中&#xff0c;jvm执行&#xff0c;最终转换为汇编指令在cp…

炫酷3D按钮

一.预览 该样式有一种3D变换的高级感&#xff0c;大家可以合理利用这些样式到自己的按钮上 二.代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice…

Python环境下基于最大离散重叠小波变换和支持向量回归的金融时间序列预测

金融时间序列具有非线性、高频性、随机性等特点&#xff0c;其波动情况不仅与当前股票市场、房地产市场、贸易市场等有强联动性&#xff0c;而且大幅度起伏对于其他市场有较大的影响和冲击。由于金融市场受多种因素影响且各影响因素间也存在一定复杂动态交互关系&#xff0c;导…