- 博客(13)
- 收藏
- 关注
原创 QT学习笔记(三)
在 Qt 中,QMainWindow 是一个提供标准应用程序窗口框架的类,它内置了菜单栏(Menu Bar)、工具栏(Tool Bar)、状态栏(Status Bar)等组件,方便开发者快速构建具有标准结构的桌面应用。
2025-09-09 09:41:20
1719
原创 QT学习笔记(二)
在 Qt 中,信号可以直接连接到另一个信号(Signal-to-Signal),这是一种非常实用的机制。当第一个信号被发射时,会自动触发第二个信号的发射,实现信号的 “转发” 或 “传递”。这种方式常用于解耦组件间的依赖,例如子窗口的信号通过主窗口转发或多个信号需要联动触发同一逻辑。假设场景:子窗口(ChildWidget)有一个按钮,点击后发射sendData(int)信号;主窗口(MainWindow)需要将该信号转发为自己的forwardData(int)信号,最终由主窗口的槽处理。
2025-09-07 16:24:44
1285
原创 QT学习笔记(一)
下面通过一个 “计数器” 案例演示自定义信号和槽:当计数器值超过 10 时,发射自定义信号,另一个对象接收信号并输出提示。Q_OBJECT // 必须添加,启用信号槽机制public:// 用于增加计数的方法m_value++;// 发射自定义信号,传递当前值signals: // 自定义信号声明(无需实现)// 信号参数:当前超过10的值private:// 计数器值Q_OBJECTpublic:public slots: // 自定义槽声明(需实现)
2025-09-07 13:36:33
542
原创 地面站与PX4飞控的数据传输流程
Mavlink是一种为无人船系统设计的轻量级通信协议,用于在飞控、地面站和其他组件之间传输数据。它支持多种数据类型,包括传感器数据、飞行状态、控制指令等,且具有良好的可扩展性。
2025-08-16 10:58:19
502
原创 LeetCode(七)
题目给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。示例 1:输入:[1,8,6,2,5,4,8,3,7]输出:49示例2输入:height = [1,1]输出:1示例3输入:height = [4,3,2,1,4]输出:16C语言int maxArea(int* height,
2021-07-13 23:49:30
250
2
原创 LeetCode(六)
题目统计一个数字在排序数组中出现的次数。示例1输入: nums = [5,7,7,8,8,10], target = 8输出: 2示例2输入: nums = [5,7,7,8,8,10], target = 6输出: 0一,C语言方法1(暴力遍历)int search(int* nums, int numsSize, int target){ int j=0; for(int i=0;i<numsSize;i++){ if(nums[i]==ta
2021-06-22 10:24:24
219
原创 LeetCode(五)
题目一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。示例1输入: [0,1,3]输出: 2示例2输入: [0,1,2,3,4,5,6,7,9]输出: 8一,C语言方法1int missingNumber(int* nums, int numsSize){ for(int i=0;i<numsSize;i++){ if(i!=nums[i]
2021-06-13 11:39:02
280
原创 LeetCode(四)
题目给你一个二维整数数组 matrix, 返回 matrix 的 转置矩阵 。矩阵的 转置 是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。示例输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[[1,4,7],[2,5,8],[3,6,9]]示例输入:matrix = [[1,2,3],[4,5,6]]输出:[[1,4],[2,5],[3,6]]一,C语言int** transpose(int** matrix, int matrixSize, in
2021-06-05 22:38:16
202
原创 LeetCode(三)
题目小扣注意到秋日市集上有一个创作黑白方格画的摊位。摊主给每个顾客提供一个固定在墙上的白色画板,画板不能转动。画板上有 n * n 的网格。绘画规则为,小扣可以选择任意多行以及任意多列的格子涂成黑色(选择的整行、整列均需涂成黑色),所选行数、列数均可为 0。小扣希望最终的成品上需要有 k 个黑色格子,请返回小扣共有多少种涂色方案。注意:两个方案中任意一个相同位置的格子颜色不同,就视为不同的方案。示例1输入:n = 2, k = 2输出:4解释:一共有四种不同的方案:第一种方案:涂第一列;
2021-05-26 23:46:26
209
原创 LeetCode(二)
题目:移除数据给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例输入:nums = [3,2,2,3], val = 3输出:2, nums = [2,2]解释:函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需要考虑数组中超出新长度后面的元素。例如,函数返回的新长
2021-05-18 19:39:54
108
原创 LeetCode(一)
题目:两数之和给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。示例nums = [2,7,11,15],target = 9nums[0] + nums[1] = 2 + 7 = 9返回 [0,1]一、Javaclass Solution{ public int [] twoSum(int [] sums,int target
2021-05-13 10:01:41
147
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅