- 博客(24)
- 收藏
- 关注
原创 QT------QPainter::save() 和 QPainter::restore() 的使用方法和作用。
效果:撤销所有在 save() 之后对 painter 所做的设置更改。作用:将当前 QPainter 的所有状态压入内部的状态栈中保存。视口(Viewport)和窗口(Window)设置。作用:从状态栈中弹出最近保存的状态,并恢复到该状态。画笔(Pen)的设置(颜色、宽度、样式等)变换矩阵(Transformations)画刷(Brush)的设置(颜色、样式等)渲染提示(Render hints)剪切区域(Clip region)字体(Font)的设置。
2025-10-24 16:26:32
270
原创 11.WPF 的命令处理事件--参数介绍
WPF命令处理中,OnCommandHandled方法的s参数表示触发命令的源控件,可通过类型转换获取具体实例;e参数包含命令对象、参数和路由控制信息,其中e.Handled=true可阻止事件继续路由。这两个参数共同实现了对命令事件的精准控制和响应逻辑处理。
2025-09-25 10:43:59
288
原创 10.WPF布局
本文详细解析了一个WPF员工信息表单的布局代码。该表单采用网格布局,包含5个等分行,每行使用水平StackPanel放置标签和文本框。关键特点包括:所有控件垂直居中,标签统一宽度70像素,文本框分两种尺寸(50/200像素),并预填充示例数据。文中指出需要修正的命名不一致问题(如txtCity应改为txtID)和拼写错误(VerticalMoognment应为VerticalAlignment),并提供优化建议:改用Grid布局实现更精确对齐、增加间距、添加验证逻辑等。布局效果显示为五行的表单结构,包含标题
2025-09-25 10:23:11
707
原创 9.WPF文本编辑器案例
摘要:本文通过一个WPF文本编辑器示例,详细展示了TextBox控件的事件处理实现。示例包含XAML界面定义和C#代码,演示了鼠标事件(Enter/Leave/DoubleClick)、键盘事件(PreviewKeyDown/KeyUp)、拖拽操作、快捷键绑定(Ctrl+S保存)和输入验证等功能,同时实现了字数统计、状态提示等辅助功能,为开发复杂文本框应用提供了完整参考。
2025-09-25 09:42:50
576
原创 8.WPFTextBox控件的鼠标和键盘事件
WPF TextBox交互事件配置指南 本文详细介绍了WPF中TextBox控件的鼠标和键盘事件配置方法: 鼠标事件 常用事件:MouseEnter(悬停高亮)、MouseLeave(恢复状态)、MouseDown(拖拽开始)等 实现功能:双击全选、拖拽滚动、悬停特效 键盘事件 核心事件:KeyDown(物理按键)、PreviewTextInput(输入过滤)、TextChanged(实时验证) 实用技巧:拦截回车键提交、实现Ctrl+S保存、数字输入过滤 高级技巧 组合事件实现拖拽功能 全局快捷键绑定 高
2025-09-24 15:35:31
533
原创 7.WPF 的 TextBox 和 TextBlock 控件
摘要: C# WPF 中的 TextBlock 和 TextBox 控件功能差异显著: TextBlock 为轻量级只读控件,支持富文本(粗体/超链接等)、自动换行和高效渲染,适用于静态文本展示; TextBox 提供可编辑文本区域,支持多行输入、滚动条、拼写检查和数据双向绑定,适合用户输入场景。 关键区别:TextBlock 侧重展示(单向绑定),TextBox 侧重交互(双向绑定)。密码输入需用 PasswordBox,复杂富文本需 RichTextBox。根据需求选择控件可优化性能与用户体验。
2025-09-24 15:31:35
1119
原创 6.WPF控件---Label
WPF中的Label控件是用于显示文本并提供输入控件标签的基础组件。其主要特点是支持助记符(通过_前缀定义快捷键)和焦点跳转功能(通过Target属性关联目标控件),这使其成为表单设计中提升键盘操作效率的关键元素。Label继承自ContentControl,可显示复杂内容,但通常用于简单文本标签场景。相比轻量级的TextBlock,Label更适合需要关联输入控件的场合。最佳实践包括:优先用于表单标签、合理设置助记符和Target属性、保持样式一致性,而纯文本显示则建议使用TextBlock。正确选用这两
2025-09-24 14:22:03
746
原创 4.WPF控件---Border
首先,Border控件是WPF(Windows Presentation Foundation)中的一个常用容器控件,用于在另一个元素周围绘制边框、背景或者同时绘制两者。它通常用于装饰界面元素,例如为文本框、按钮或其他布局控件添加边框效果。以下是关于Border控件的详细介绍:示例代码:在这个例子中,按钮被包含在Border控件内,Border控件设置了2个像素宽的红色边框,圆角半径为5,内边距为5,外边距为10。
2025-09-24 10:33:32
1017
原创 3.WPF - 依赖属性
WPF - 依赖属性简述在 WPF 应用程序中,依赖属性是扩展 CLR 属性的特定类型的属性。它利用了 WPF 属性系统中可用的特定功能。定义依赖属性的类必须继承自 DependencyObject 类。XAML 中使用的许多 UI 控件类都派生自 DependencyObject 类,它们支持依赖属性,例如Button 类支持 IsMouseOver 依赖属性。以下 XAML 代码创建一个带有一些属性的按钮。
2025-09-23 15:21:16
1066
原创 1.WPF新建第一个应用程序
默认情况下会创建两个文件,一个是XAML文件(mainwindow.xaml),另一个是CS文件(mainwindow.cs)查看源代码窗口时,您将看到 Visual Studio 已为您生成 TextBlock 的 XAML 代码。在 mainwindow.xaml 上,您将看到两个子窗口,一个是设计窗口,另一个是源(XAML)窗口。在模板下,选择 Visual C#,然后在中间面板中,选择 WPF 应用程序。让我们转到工具箱,将一个 TextBlock 拖到设计窗口中。
2025-09-23 11:08:07
375
原创 2.C#元素树概念
元素树是C# UI框架的骨架,贯穿布局、渲染、事件和数据流。掌握其结构(逻辑树与可视化树)和操作方式(遍历、查找、动态修改)是构建高效、可维护界面的关键。开发中建议结合调试工具(如Snoop)深入理解元素树的实时状态。
2025-09-23 11:05:19
523
原创 QRectF united()函数
QRectF::united() 函数生成的是能同时包含调用它的矩形和参数中指定的另一个矩形的最小外接矩形(Bounding Rectangle),并且这个矩形是轴对齐矩形(Axis-Aligned Bounding Box, AABB)。如果原始的两个矩形本身是旋转或倾斜的,united() 返回的轴对齐矩形通常会比真正的最小可能包围矩形(需要旋转角度)面积更大一些。它是包含两个原始矩形的最小可能轴对齐矩形。如果原始矩形有旋转,它可能不是绝对最小的(旋转后的矩形),但在轴对齐的限制下,它是最小的。
2025-09-05 09:50:37
317
原创 QGraphicsPathItem 详细讲解
QGraphicsPathItem 是 Qt 框架中用于在 QGraphicsView 场景中绘制复杂路径的图形项类。它继承自 QAbstractGraphicsShapeItem,提供了强大的矢量路径绘制能力。QGraphicsPathItem 详细讲解。
2025-08-30 11:22:30
459
原创 OSG(OpenSceneGraph)介绍
核心特性场景图结构:OSG使用场景图(Scene Graph)来组织和管理3D场景中的对象。场景图是一种树状结构,节点可以是变换节点、几何节点、光照节点等。高性能:通过状态排序、裁剪(culling)和细节层次(LOD)等技术优化渲染性能。跨平台:支持Windows、Linux、macOS等多种操作系统。支持多种数据格式:可以导入和导出多种3D文件格式,如.osg, .obj, .3ds, .dae (Collada), .fbx等。功能丰富。
2025-08-29 16:49:07
1090
原创 MQTT使用方式
需要说明两种选择差异,示例代码要包含连接、订阅、消息处理的完整流程,特别注意QT的信号槽机制——这个不写清楚的话QT开发者会困惑。使用方式部分要强调轻量级和发布/订阅模式的特点,特别是对比HTTP的长连接优势。用户没提具体场景,但要求了C++/QT示例,大概率在开发桌面端物联网应用,可能需要连接树莓派之类设备。嗯,用户问的是MQTT技术的出现时间、基本用法、应用场景,还特别提到C++/QT的示例。工业物联网、车联网这些太宽泛,实际要补充具体案例,比如共享单车的智能锁就用MQTT上报位置。
2025-08-15 16:23:51
916
原创 QGraphicsView关于mapToScene的理解
4.this->mapToScene(QPointF(otherRect.right() - currentRect.left(), 0))是相对于item原点偏移为3.的坐标,转换在场景中的位置。3.QPointF(otherRect.right() - currentRect.left(), 0)是一个水平偏移点。1.this是一个图形项。
2025-07-18 17:15:16
220
原创 QT QGraphicsView注意事项
/强制重绘整个视口,避免部分更新导致的残影。对于有拖拽操作的测量工具类应用,FullViewportUpdate 是最可靠的选择。现代硬件通常能轻松处理这种负载,除非场景中有数千个复杂项目。相当于每次更新都调用 viewport()->update()。强制视图在每次更新时重绘整个可见区域。无论场景中有多少项目发生变化。
2025-07-15 15:59:26
478
原创 【QT按钮类】
QT提供的基本按钮控件如下:对应按钮来说, 一般有三种常见状态, 分别为:。普通状态, 没有和鼠标做任何接触;悬停状态, 鼠标位于按钮之上, 但是并未按下;按压状态, 鼠标键在按钮上处于按下状态;1.3常用的信号和槽函数。
2023-09-07 20:08:46
1439
1
原创 Win10下 pytorch模型在C++上的部署
Win10下 pytorch模型在C++上的部署 <一、>一、使用python train好需要的模型(.pth)二、将.pth转换为.pt文件三、配置VS2017+libtorch+opencv,导入.pt模型进行编码处理本次实验所需环境、IDE依赖如下:python:pycharm+pytorch1.2.0;C++:VS2017+libtorch1.2.0+opencv3.4.6;win10+1050Ti一、使用python train好需要的模型(.pth)本次实验
2021-10-13 16:38:09
2507
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅