原创 【XInput】手柄模擬鼠標運作之 .NET P/Invoke 和 UWP-API 方案

上一篇中,老周簡單膚淺地介紹了 XInput API 的使用,並模擬了鼠標移動,左、右鍵單擊和滾輪。本篇,咱們用 .NET 代碼來完成相同的效果。 說起來也是倒黴,博文寫了一半,電腦忽然斷電了。不知道什麼原因,可能是 UPS 電源出故障。重

原创 【XInput】遊戲手柄模擬鼠標動作

老週一般很少玩遊戲,在某寶上買了一堆散件,計劃在過年期間自己做個機械臂耍耍。頭腦中劃過一道紫藍色的閃電,想起用遊戲手柄來控制機械臂。機械臂是由樹莓派(大草莓)負責控制,然後客戶端通過 Socket UDP 來發送信號。優先考慮在 PC 和手

原创 【.NET】聊聊 IChangeToken 接口

由於兩個月的奮戰,導致很久沒更新了。就是上回老周說的那個產線和機械手搬貨的項目,好不容易等到工廠放假了,我就偷偷樂了。當然也過年了,老周先給大夥伴們拜年了,P話不多講,就祝大家身體健康、生活愉快。其實生活和健康是密不可分的,想活得好,就得健

原创 【.NET】控制檯應用程序的各種交互玩法

老周是一個不喜歡做界面的碼農,所以很多時候能用控制檯交互就用控制檯交互,既方便又佔資源少。有大夥伴可能會說,控制檯全靠打字,不好交互。那不一定的,像一些選項類的交互,可以用鍵盤按鍵(如方向鍵),可比用鼠標快得多。當然了,要是要觸控的話,是不

原创 【ASP.NET Core】MVC過濾器:常見用法

前面老周給大夥伴們演示了過濾器的運行流程,大夥只需要知道下面知識點即可: 1、過濾器分爲授權過濾、資源訪問過濾、操作方法(Action)過濾、結果過濾、異常過濾、終結點過濾。上一次咱們沒有說異常過濾和終結點過濾,不過老周後面會說的。對這些過

原创 【ASP.NET Core】MVC過濾器:運行流程

MVC 的過濾器(Filters)也翻譯爲“篩選器”。但是老周更喜歡翻譯爲“過濾器”,意思上更好理解。 既然都叫過濾器了,就是在MVC的操作方法調用前後進行特殊處理的類型。比如: a、此調用是否已授權? b、在模型綁定之前要不要修改數據源?

原创 【.NET】多線程:自動重置事件與手動重置事件的區別

在多線程編程中,如果每個線程的運行不是完全獨立的。那麼,一個線程執行到某個時刻需要知道其他線程發生了什麼。嗯,這就是所謂線程同步。同步事件對象(XXXEvent)有兩種行爲: 1、等待。線程在此時會暫停運行,等待其他線程發出信號才繼續(等你

原创 【Qt6】列表模型——幾個便捷的列表類型

前面一些文章,老周簡單介紹了在Qt 中使用列表模型的方法。很明顯,使用 Item Model 在許多時候還是挺麻煩的——要先建模型,再放數據,最後才構建視圖。爲了簡化這些騷操作,Qt 提供了幾個便捷類。今天咱們逐個看看。 一、QListWi

原创 【ASP.NET Core】在 Mini-API 中注入服務

經過版本更新,Mini API 的功能逐步完善,早期支持得不太好的 mini API 現在許多特性都可以用了,比如灰常重要的依賴注入。 咱們先來個相當簡單的注入測試。來,定義一個服務類,爲了偷懶,老周這裏就不使用 接口 + 實現類 的方式了

原创 【Qt6】列表模型——樹形列表

QStandardItemModel 類作爲標準模型,主打“類型通用”,前一篇水文中,老周還沒提到樹形結構的列表,本篇咱們就好好探討一下這貨。 還是老辦法,咱們先做示例,然後再聊知識點。下面這個例子,使用 QTreeView 組件來顯示數據

原创 【Qt6】列表模型——便捷類型

前一篇水文中,老周演示了 QAbstractItemModel 抽象類的繼承方法。其實,在 Qt 的庫裏面,QAbstractItemModel 類也派生了兩個基類,能讓開發者繼承起來【稍稍】輕鬆一些。 這兩個類是 QAbstractLis

原创 【Qt6】列表模型——抽象基類

列表模型(Item Model),老周沒有翻譯爲“項目模型”,因爲 Project 和 Item 都可以翻譯爲“項目”,容易出現歧義。乾脆叫列表模型。這個模型也確實是爲數據列表準備的,它以 MVC 的概念爲基礎,在原始數據和用戶界面視圖之間

原创 【Qt6】工具提示以及調色板設置

工具提示即 Tool Tip,當用戶把鼠標移動到某個UI對象上並懸停片刻,就會出現一個“短小精悍”的窗口,顯示一些說明性文本。一般就是功能描述,讓用戶知道這個XX是幹啥用的。 在 Qt 中使用工具提示最方便的做法是直接用 QWidget 類

原创 【Qt6】QWidgetAction 的使用

在開始主題前,先看一個 C++ 例子: #include <iostream> struct Data { int a; int b; }; // 注意這裏 struct Data *s; void doSome()

原创 【VS Code 與 Qt6】QAction 類的一些事

QAction 類表示用戶命令的一種抽象,包括命令文本、圖標、命令觸發後要執行的代碼。菜單、工具欄按鈕往往存在相同的功能,將這些命令獨立抽出來,放到 QAction 以象上,可避免編寫重複的代碼。比如“文件”菜單下有“保存”命令,工具欄上也