{"id":13274,"date":"2024-03-15T06:44:10","date_gmt":"2024-03-15T06:44:10","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-does-qt-calculate-mouse-movement-speed\/"},"modified":"2025-08-05T15:22:32","modified_gmt":"2025-08-05T15:22:32","slug":"how-does-qt-calculate-mouse-movement-speed","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-does-qt-calculate-mouse-movement-speed\/","title":{"rendered":"Qt Mouse Speed Calculation Guide"},"content":{"rendered":"<p>In Qt, you can calculate the mouse movement speed by capturing the mouse move event. First, you need to override the mouse move event handling method in your window or QWidget subclass.<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-function\"><span class=\"hljs-type\">void<\/span> <span class=\"hljs-title\">YourWidget::mouseMoveEvent<\/span><span class=\"hljs-params\">(QMouseEvent *event)<\/span>\r\n<\/span>{\r\n    <span class=\"hljs-type\">static<\/span> QPoint lastPos;\r\n    <span class=\"hljs-type\">static<\/span> qint64 lastTime = <span class=\"hljs-number\">0<\/span>;\r\n\r\n    qint64 currentTime = QDateTime::<span class=\"hljs-built_in\">currentMSecsSinceEpoch<\/span>();\r\n    QPoint currentPos = event-&gt;<span class=\"hljs-built_in\">pos<\/span>();\r\n\r\n    <span class=\"hljs-keyword\">if<\/span> (lastTime == <span class=\"hljs-number\">0<\/span>) {\r\n        lastTime = currentTime;\r\n        lastPos = currentPos;\r\n        <span class=\"hljs-keyword\">return<\/span>;\r\n    }\r\n\r\n    <span class=\"hljs-type\">int<\/span> deltaTime = currentTime - lastTime;\r\n    <span class=\"hljs-type\">int<\/span> distance = (currentPos - lastPos).<span class=\"hljs-built_in\">manhattanLength<\/span>();\r\n    <span class=\"hljs-type\">int<\/span> speed = distance \/ deltaTime; <span class=\"hljs-comment\">\/\/ \u8ba1\u7b97\u901f\u5ea6<\/span>\r\n\r\n    <span class=\"hljs-built_in\">qDebug<\/span>() &lt;&lt; <span class=\"hljs-string\">\"Mouse Speed: \"<\/span> &lt;&lt; speed;\r\n\r\n    <span class=\"hljs-comment\">\/\/ \u66f4\u65b0\u4e0a\u4e00\u6b21\u7684\u4f4d\u7f6e\u548c\u65f6\u95f4<\/span>\r\n    lastPos = currentPos;\r\n    lastTime = currentTime;\r\n}\r\n<\/code><\/pre>\n<p>In this example, we use static variables to keep track of the previous position and time. During each mouse movement event, we calculate the difference between the current time and the previous time, as well as the distance between the current position and the previous position. We then calculate the mouse movement speed by dividing the distance by the time difference.<\/p>\n<p>This speed is measured in pixels per millisecond (px\/ms). You can convert or adjust it according to your needs.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Qt, you can calculate the mouse movement speed by capturing the mouse move event. First, you need to override the mouse move event handling method in your window or QWidget subclass. void YourWidget::mouseMoveEvent(QMouseEvent *event) { static QPoint lastPos; static qint64 lastTime = 0; qint64 currentTime = QDateTime::currentMSecsSinceEpoch(); QPoint currentPos = event-&gt;pos(); if (lastTime == [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[5364,17659,17658,17657,5346],"class_list":["post-13274","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-c-qt","tag-mouse-speed-calculation","tag-qt-mouse-events","tag-qt-mouse-movement","tag-qt-programming"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Qt Mouse Speed Calculation Guide - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Calculate mouse movement speed in Qt using mouse events with our step-by-step code tutorial.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-does-qt-calculate-mouse-movement-speed\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Qt Mouse Speed Calculation Guide\" \/>\n<meta property=\"og:description\" content=\"Calculate mouse movement speed in Qt using mouse events with our step-by-step code tutorial.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-does-qt-calculate-mouse-movement-speed\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-15T06:44:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-05T15:22:32+00:00\" \/>\n<meta name=\"author\" content=\"Olivia Parker\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Olivia Parker\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-does-qt-calculate-mouse-movement-speed\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-does-qt-calculate-mouse-movement-speed\/\"},\"author\":{\"name\":\"Olivia Parker\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9\"},\"headline\":\"Qt Mouse Speed Calculation Guide\",\"datePublished\":\"2024-03-15T06:44:10+00:00\",\"dateModified\":\"2025-08-05T15:22:32+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-does-qt-calculate-mouse-movement-speed\/\"},\"wordCount\":118,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"C++ Qt\",\"mouse speed calculation\",\"Qt mouse events\",\"Qt mouse movement\",\"Qt programming\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-does-qt-calculate-mouse-movement-speed\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-does-qt-calculate-mouse-movement-speed\/\",\"name\":\"Qt Mouse Speed Calculation Guide - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-15T06:44:10+00:00\",\"dateModified\":\"2025-08-05T15:22:32+00:00\",\"description\":\"Calculate mouse movement speed in Qt using mouse events with our step-by-step code tutorial.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-does-qt-calculate-mouse-movement-speed\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-does-qt-calculate-mouse-movement-speed\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-does-qt-calculate-mouse-movement-speed\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Qt Mouse Speed Calculation Guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9\",\"name\":\"Olivia Parker\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g\",\"caption\":\"Olivia Parker\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/oliviaparker\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Qt Mouse Speed Calculation Guide - Blog - Silicon Cloud","description":"Calculate mouse movement speed in Qt using mouse events with our step-by-step code tutorial.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-does-qt-calculate-mouse-movement-speed\/","og_locale":"en_US","og_type":"article","og_title":"Qt Mouse Speed Calculation Guide","og_description":"Calculate mouse movement speed in Qt using mouse events with our step-by-step code tutorial.","og_url":"https:\/\/www.silicloud.com\/blog\/how-does-qt-calculate-mouse-movement-speed\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-15T06:44:10+00:00","article_modified_time":"2025-08-05T15:22:32+00:00","author":"Olivia Parker","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Olivia Parker","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-does-qt-calculate-mouse-movement-speed\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-does-qt-calculate-mouse-movement-speed\/"},"author":{"name":"Olivia Parker","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9"},"headline":"Qt Mouse Speed Calculation Guide","datePublished":"2024-03-15T06:44:10+00:00","dateModified":"2025-08-05T15:22:32+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-does-qt-calculate-mouse-movement-speed\/"},"wordCount":118,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["C++ Qt","mouse speed calculation","Qt mouse events","Qt mouse movement","Qt programming"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-does-qt-calculate-mouse-movement-speed\/","url":"https:\/\/www.silicloud.com\/blog\/how-does-qt-calculate-mouse-movement-speed\/","name":"Qt Mouse Speed Calculation Guide - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-15T06:44:10+00:00","dateModified":"2025-08-05T15:22:32+00:00","description":"Calculate mouse movement speed in Qt using mouse events with our step-by-step code tutorial.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-does-qt-calculate-mouse-movement-speed\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-does-qt-calculate-mouse-movement-speed\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-does-qt-calculate-mouse-movement-speed\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Qt Mouse Speed Calculation Guide"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/3ff7b3da0e45ac5dbbef2502f3cea8d9","name":"Olivia Parker","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/56c66f189ba32a6f9eb50f31a38fe774e2a725c213d4070835ccc51b8fbbc54b?s=96&d=mm&r=g","caption":"Olivia Parker"},"url":"https:\/\/www.silicloud.com\/blog\/author\/oliviaparker\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/13274","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=13274"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/13274\/revisions"}],"predecessor-version":[{"id":157219,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/13274\/revisions\/157219"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=13274"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=13274"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=13274"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}