多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php框架 > 框架設計 > 【Qt5開發及實例】17、一個對話框的坐標參數顯示

【Qt5開發及實例】17、一個對話框的坐標參數顯示

來源:程序員人生   發布時間:2015-01-26 08:56:38 閱讀次數:3629次

1個對話框的坐標參數顯示

介紹

這個是為了得到對話框的長寬,各個點的坐標,相對坐標,相對父窗口的坐標,相對在桌面的坐標


代碼

geometry.h

/** * 書本:【Qt5開發及實例】 * 功能:顯示對話框的坐標信息,參數信息 * 文件:geometry.cpp * 時間:2015年1月20日20:19:35 * 作者:cutter_point */ #ifndef GEOMETRY_H #define GEOMETRY_H #include <QDialog> #include <QLabel> #include <QGridLayout> class Geometry : public QDialog { Q_OBJECT public: Geometry(QWidget *parent = 0); ~Geometry(); //更新數據的顯示 void updateLabel(); private: QLabel *xLabel; //表示對話框的最開始的x坐標橫向-----> QLabel *xValueLabel; QLabel *yLabel; //表示對話框的最開始的y坐標縱向下箭頭 QLabel *yValueLabel; QLabel *FrmLabel; //綜合位置和對話框的寬和長 QLabel *FrmValueLabel; QLabel *posLabel; //位置坐標,就是x,y QLabel *posValueLabel; QLabel *geoLabel; //x,y和對話框不包括標題的大小,長寬 QLabel *geoValueLabel; QLabel *widthLabel; //里面的寬 QLabel *widthValueLabel; QLabel *heightLabel; //里面的長 QLabel *heightValueLabel; QLabel *rectLabel; //起始的0,0和里面的長和寬 QLabel *rectValueLabel; QLabel *sizeLabel; //里面的長寬 QLabel *sizeValueLabel; QGridLayout *mainLayout; //網格布局 protected: void moveEvent(QMoveEvent *); //對話框移動的話,坐標要改變 void resizeEvent(QResizeEvent *); //對話框大小改變的話 }; #endif // GEOMETRY_H


geometry.cpp

/** * 書本:【Qt5開發及實例】 * 功能:顯示對話框的坐標信息,參數信息 * 文件:geometry.cpp * 時間:2015年1月20日20:19:35 * 作者:cutter_point */ #include "geometry.h" Geometry::Geometry(QWidget *parent) //構造函數 : QDialog(parent) { setWindowTitle(tr("cutter_point Geometry")); xLabel = new QLabel(tr("x():")); //坐標x xValueLabel =new QLabel; yLabel =new QLabel(tr("y():")); yValueLabel =new QLabel; FrmLabel =new QLabel(tr("Frame:")); FrmValueLabel =new QLabel; posLabel =new QLabel(tr("pos():")); posValueLabel =new QLabel; geoLabel =new QLabel(tr("geometry():")); geoValueLabel =new QLabel; widthLabel =new QLabel(tr("width():")); widthValueLabel =new QLabel; heightLabel =new QLabel(tr("height():")); heightValueLabel =new QLabel; rectLabel =new QLabel(tr("rect():")); rectValueLabel =new QLabel; sizeLabel =new QLabel(tr("size():")); sizeValueLabel =new QLabel; mainLayout = new QGridLayout(this); //網格布局 mainLayout->addWidget(xLabel, 0, 0); mainLayout->addWidget(xValueLabel,0,1); mainLayout->addWidget(yLabel,1,0); mainLayout->addWidget(yValueLabel,1,1); mainLayout->addWidget(posLabel,2,0); mainLayout->addWidget(posValueLabel,2,1); mainLayout->addWidget(FrmLabel,3,0); mainLayout->addWidget(FrmValueLabel,3,1); mainLayout->addWidget(geoLabel,4,0); mainLayout->addWidget(geoValueLabel,4,1); mainLayout->addWidget(widthLabel,5,0); mainLayout->addWidget(widthValueLabel,5,1); mainLayout->addWidget(heightLabel,6,0); mainLayout->addWidget(heightValueLabel,6,1); mainLayout->addWidget(rectLabel,7,0); mainLayout->addWidget(rectValueLabel,7,1); mainLayout->addWidget(sizeLabel,8,0); mainLayout->addWidget(sizeValueLabel,8,1); updateLabel(); } //更新坐標 void Geometry::updateLabel() { QString xStr; //取得x()函數的結果并顯示 xValueLabel->setText(xStr.setNum(x())); QString yStr; //取得y()函數的結果并顯示 yValueLabel->setText(yStr.setNum(y())); QString frameStr; //取得frameGeometry函數的結果并顯示 QString tempStr1, tempStr2, tempStr3, tempStr4; frameStr = tempStr1.setNum(frameGeometry().x()) + ", " + tempStr2.setNum(frameGeometry().y()) + ", " + tempStr3.setNum(frameGeometry().width()) + ", " + tempStr4.setNum(frameGeometry().height()); FrmValueLabel->setText(frameStr); QString positionStr; //取得pos函數的結果并顯示 QString tempStr11, tempStr12; positionStr = tempStr11.setNum(pos().x()) + ", " + tempStr12.setNum(pos().y()); posValueLabel->setText(positionStr); QString geoStr; //取得geometry()函數的結果并顯示 QString tempStr21, tempStr22, tempStr23, tempStr24; geoStr = tempStr21.setNum(geometry().x()) + ", " + tempStr22.setNum(geometry().y()) + ", " + tempStr23.setNum(geometry().width()) + ", " + tempStr24.setNum(geometry().height()); geoValueLabel->setText(geoStr); QString wStr, hStr; //取得width, height函數的結果并顯示 widthValueLabel->setText(wStr.setNum(width())); heightValueLabel->setText(hStr.setNum(height())); QString rectStr; //取得rect函數的結果并顯示 QString tempStr31, tempStr32, tempStr33, tempStr34; rectStr = tempStr31.setNum(rect().x()) + ", " + tempStr32.setNum(rect().y()) + ", " + tempStr33.setNum(rect().width()) + ", " + tempStr34.setNum(rect().height()); rectValueLabel->setText(rectStr); QString sizeStr; //取得size函數的結果并顯示 QString tempStr41, tempStr42; sizeStr = tempStr41.setNum(size().width()) + ", " + tempStr42.setNum(size().height()); sizeValueLabel->setText(sizeStr); } //重新定義移動對話框事件 void Geometry::moveEvent(QMoveEvent *) { updateLabel(); } void Geometry::resizeEvent(QResizeEvent *) { updateLabel(); } Geometry::~Geometry() { }


main.cpp

#include "geometry.h" #include <QApplication> int main(int argc, char *argv[]) { QApplication a(argc, argv); Geometry w; w.show(); return a.exec(); }

運行結果





好吧,我發現照片超過1M就沒法上傳了,666666,我記得好像是2M的,怪我太天真???







生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 久久桃色 | 国产一级精品视频 | freesexmovies性医生 | jizz在线观看视频 | 超乳w真性中出し冲田杏梨101 | 欧美日韩成人在线观看 | 日韩色网站 | 日本视频不卡 | 国产精品一区二区国产 | 国产三级做爰高清视频a | 国产麻豆免费观看 | 中文字幕在线观看国产 | 韩国jizz| 91久久精品国产亚洲 | 一本大道加勒比久久 | www视频在线观看 | 免费爱爱网址 | 免费观看片 | 日本免费一区二区三区三州 | 五月婷婷免费视频 | ⅹxx日本护土 | 久久视频精品36线视频在线观看 | 欧美 日韩 亚洲 中文字幕 一区 | www羞羞动漫网在线观看 | 免费一级特黄欧美大片久久网 | 一区二区三区在线播放视频 | 欧美激情在线播放一区二区三区 | 中文字幕人成不卡一区 | 欧美人与z0z0xxxx | 国产精品久久久一区二区三区 | 欧美综合国产精品日韩一 | 亚洲天堂女人 | 色综合欧美 | 国产女主播一区二区在线观看 | 日本精品一区二区三本中文 | 欧美精品网 | 国产高清在线播放免费观看 | 精品国产免费人成网站 | 精品国产96亚洲一区二区三区 | 中文字幕亚洲专区 | a级网站在线观看 |