当前位置: 首页 > news >正文

厦门自己建网站免费加入微商代理

厦门自己建网站,免费加入微商代理,网站后台密码重置,宁波网站建设与设计开发qt-C笔记之识别点击鼠标右键、点击位置以及Qt坐标系详解 code review! 文章目录 qt-C笔记之识别点击鼠标右键、点击位置以及Qt坐标系详解1.示例运行2.event-pos();详解3.event-pos()的坐标系原点4.Qt中的坐标系详解5.QMainWindow::mousePressEvent(event);详解 1.示例…qt-C笔记之识别点击鼠标右键、点击位置以及Qt坐标系详解 code review! 文章目录 qt-C笔记之识别点击鼠标右键、点击位置以及Qt坐标系详解1.示例运行2.event-pos();详解3.event-pos()的坐标系原点4.Qt中的坐标系详解5.QMainWindow::mousePressEvent(event);详解 1.示例运行 截图时鼠标没截到 (_; 代码 #include QApplication #include QMainWindow #include QMouseEvent #include QDebugclass MainWindow : public QMainWindow { public:MainWindow(QWidget *parent nullptr) : QMainWindow(parent){setWindowTitle(Right-Click Example);}protected:void mousePressEvent(QMouseEvent *event) override{if (event-button() Qt::RightButton){QPoint position event-pos();int x position.x();int y position.y();qDebug() Mouse clicked at position: position;qDebug() x-coordinate: x;qDebug() y-coordinate: y;}else{QMainWindow::mousePressEvent(event);}} };int main(int argc, char *argv[]) {QApplication app(argc, argv);MainWindow window;window.show();return app.exec(); }2.event-pos();详解 event-pos() 是一个用于获取鼠标事件位置的成员函数。它返回一个 QPoint 对象表示鼠标事件发生的位置坐标。 在上述代码中event 是一个指向 QMouseEvent 对象的指针它表示一个鼠标事件。通过调用 event-pos()可以获取鼠标事件发生时鼠标的位置坐标。 QPoint 是 Qt 框架提供的一个类用于表示二维坐标。它具有 x() 和 y() 方法可用于分别获取 x 和 y 坐标值。 以下是一些关于 event-pos() 的示例用法 void mousePressEvent(QMouseEvent *event) {QPoint position event-pos();int x position.x();int y position.y();qDebug() Mouse clicked at position: position;qDebug() x-coordinate: x;qDebug() y-coordinate: y; }在上述示例中首先通过 event-pos() 获取鼠标事件的位置坐标并将其存储在一个 QPoint 对象 position 中。然后使用 x() 和 y() 方法分别获取 x 和 y 坐标值。最后通过调试输出将位置坐标和坐标值打印到控制台。 总结来说event-pos() 是一个用于获取鼠标事件位置的函数它返回一个 QPoint 对象表示鼠标事件发生的位置坐标。 3.event-pos()的坐标系原点 event-pos() 返回的坐标是相对于接收鼠标事件的窗口部件的局部坐标系。它表示鼠标事件发生的位置相对于该窗口部件左上角的偏移量。 具体来说坐标系的原点位于窗口部件的左上角x 轴向右延伸y 轴向下延伸。因此如果 event-pos() 返回的坐标是 (x, y)那么表示鼠标事件发生在窗口部件中的 (x, y) 像素位置。 需要注意的是窗口部件的坐标系是相对于其父级窗口或容器的。如果窗口部件是应用程序的主窗口则其坐标系是相对于屏幕的。 如果需要将局部坐标转换为全局坐标屏幕坐标可以使用 mapToGlobal() 函数。例如event-pos().mapToGlobal() 将返回鼠标事件发生位置的全局坐标。 下面是一个示例展示了如何使用 event-pos() 获取鼠标事件的局部坐标 void mousePressEvent(QMouseEvent *event) {QPoint localPos event-pos();qDebug() Local mouse position: localPos; }在上述示例中event-pos() 返回的坐标被存储在 QPoint 对象 localPos 中并通过调试输出打印到控制台。 总结来说event-pos() 返回的坐标是相对于接收鼠标事件的窗口部件的局部坐标系原点位于左上角x 轴向右y 轴向下延伸。如需将局部坐标转换为全局坐标可以使用 mapToGlobal() 函数。 4.Qt中的坐标系详解 在Qt中坐标系用于描述界面元素的位置和大小。Qt使用的坐标系是基于笛卡尔坐标系具有以下特点 坐标原点Qt的坐标原点通常位于左上角即(0, 0)。这意味着x轴向右增加y轴向下增加。这种坐标系也被称为左上角坐标系。 单位Qt中的坐标单位通常是像素Pixel。每个像素表示屏幕上的一个点用于测量和定位界面元素的位置和大小。 窗口坐标系在窗口中坐标系的原点通常位于窗口的左上角。窗口的左上角坐标为(0, 0)并且x轴向右延伸y轴向下延伸。窗口坐标系用于描述窗口内部的界面元素的位置和大小。 屏幕坐标系屏幕坐标系是全局的坐标系用于描述屏幕上的位置。屏幕坐标系的原点通常位于显示器的左上角与窗口坐标系的原点不一定对齐。屏幕坐标系可以用于将窗口坐标转换为全局坐标以及进行屏幕坐标上的操作。 父子坐标系在Qt中界面元素例如窗口、小部件可以形成父子关系。对于子元素其坐标一般相对于其父元素。子元素的坐标原点位于其父元素的左上角。 坐标转换Qt提供了一些函数来进行坐标转换例如 mapToGlobal()将局部坐标转换为全局坐标。mapFromGlobal()将全局坐标转换为局部坐标。mapToParent()将子元素的局部坐标转换为父元素的坐标。mapFromParent()将父元素的坐标转换为子元素的局部坐标。 总而言之在Qt中坐标系用于定位和描述界面元素的位置和大小。默认情况下Qt使用左上角坐标系原点位于窗口或界面元素的左上角。了解和理解Qt的坐标系是编写界面布局和处理交互事件的重要基础。 5.QMainWindow::mousePressEvent(event);详解 QMainWindow::mousePressEvent(event) 是一个语句用于调用基类 QMainWindow 的 mousePressEvent 函数来处理鼠标点击事件。 在代码中的 else 分支中如果鼠标点击事件的按钮不是右键那么会执行 QMainWindow::mousePressEvent(event)。这样做的目的是将处理其他类型的鼠标点击事件的责任委托给基类的实现。 基类的 mousePressEvent 函数是 Qt 框架中定义的一个虚函数可以在子类中进行重写。它用于处理鼠标点击事件的默认行为。通过调用基类的 mousePressEvent(event)可以确保在处理右键点击事件之外的其他类型的鼠标点击事件时仍保留基类的默认行为。 在这个特定的代码示例中MainWindow 类继承自 QMainWindow并重写了 mousePressEvent 函数。当鼠标点击事件的按钮不是右键时通过调用 QMainWindow::mousePressEvent(event)可以继续执行基类 QMainWindow 的默认处理方式以保持应用程序的正常行为。 总结来说QMainWindow::mousePressEvent(event) 是一个语句用于调用基类 QMainWindow 的 mousePressEvent 函数来处理除右键点击之外的其他类型的鼠标点击事件以保持基类默认行为的一致性。
http://www.hkea.cn/news/14461928/

相关文章:

  • 网站建设款计入哪个会计分录济南网站建设全包
  • 代做原创毕业设计网站想学软件编程 哪个学校好啊
  • 建个人网站要多少钱成都古怪科技网站建设公司
  • 单位网站查询工资链接怎么做盱眙在仕德伟做网站的有几家
  • 找人做一个网站需要花多少钱到国外网站上做兼职翻译
  • 山西省财政厅门户网站三基建设专栏排行网页游戏
  • e2ee网站开发微信wordpress提醒
  • 建企业网站一般多少钱平武移动网站建设
  • 网站维护产品推介自媒体运营怎么学
  • 做英文网站多少钱公司网站做好了还需
  • 做网站最多的行业黄冈网站推广优化技巧
  • 做教育网站的er图国外商业网站设计
  • 数据线 东莞网站建设wordpress图像并排
  • 杭州网站建设索q.479185700广告设计公司的简介
  • 宁德城乡建设部网站首页企业网络设计方案论文
  • 网站链接推广工具宁国市城乡与住房建设网站
  • 建站之星凡客wordpress手机上传图片插件
  • 利津网站定制wordpress微信公众号管理
  • 如何给网站添加音乐wordpress搜索收录
  • 做海报哪个网站好网站301跳转有坏处吗
  • 网站建站知识中国建设银行官网是
  • 合肥市建设工程市场价格信息网站在线做交互网站
  • 网站快速备案安全吗上海游玩攻略必去的地方
  • 网站建设 麻烦吗seo怎么做网站排名
  • 承德网站制作公司优选网十科技商务网站建设的基本步骤
  • 网站建设实践报告3000字建设网站的虚拟机配置
  • 济南长清网站建设广东省建设职业注册中心网站
  • 网站建设概算谁有网址发一个
  • 代挂网站维护电子商务网站建设中的重要性
  • 家居企业网站建设效果如何高效建设品牌网站?