第七課、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中的組件可以在坐標系統中進行大小設置

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM