第七课、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對象, 其父組件為 QWidgetQPushButton 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中的組件可以在坐標系統中進行大小設置
?
?
轉載于:https://www.cnblogs.com/gui-lin/p/6387537.html
總結
以上是生活随笔為你收集整理的第七课、Qt中的坐标系统------------------狄泰软件学院的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UVA11825: Hackers' C
- 下一篇: 自定义EL函数、自定义JSTL标签