第七课、Qt中的坐标系统------------------狄泰软件学院
一、坐标系统
1、GUI操作系统都有特定的坐标系统
2、图形界面程序在坐标系统中进行窗口和部件的定位
3、定位类型
(1)、顶级窗口部件的定位
(2)、窗口内部件的定位
(3)、窗口部件大小的设置
4、Qt的坐标系统
(1)、Qt使用统一的坐标系统定位窗口部件的位置和大小
(2)、Qt部件类提供成员函数在坐标系统中进行定位
(3)、QWidget类提供了窗口部件所需的坐标系统成员函数
二、坐标系统中的成员函数(查看帮助文档看描述)
注意:geometry()和frameGeometry()的几何数据必须在show()调用后才有效
三、窗口部件的大小设置
1、改变窗口部件的大小(设置的大小不在操作系统规定的范围时会自动调整)
(1)、void resize(int w, int h)
(2)、void resize(const Qsize&)
2、改变窗口部件的位置
(1)、void move(int x, int y)
(2)、void move(const QPoit&)
四、QPushButon组件
1、QPushButon用于接收用户点击事件
2、QPushButon能够显示提示性字符
3、QPushButon是功能性组件,需要父组件作为容器
4、QPushButon能够在父组件中进行定位
#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对象, 其父组件为 QWidget QPushButton b1(&w); b.setText("Button"); // 设置显示的字符串 b.move(10, 10); // 移动到坐标 (10, 10) b.resize(100, 50); // 设置大小 width = 100, height = 25 b1.setText("Button"); // 设置显示的字符串 b1.move(120, 10); // 移动到坐标 (120, 10) b1.resize(100, 50); // 设置大小 width = 100, height = 25 w.resize(100, 100); w.move(120, 120); w.show();//获取坐标要在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(); }
五、小结
(1)、Qt中的几何坐标以左上角为原点
A、水平为x轴,从左向右为正
B、垂直为y轴,从上向下为正
(2)、Qt中的GUI组件以左上角进行定位
(3)、Qt中的组件可以在坐标系统中进行大小设置
本文作者:lgc202
本文链接:https://www.cnblogs.com/gui-lin/p/6387537.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步