自定义摇杆今天做项目的时候,接到一个需求,需要做一个摇杆去控制物体的移动,功能还是挺复杂的
1.功能:
点击内圈发送一次对应的方向的信号
松开鼠标的时候如果在内圈就发送结束信号(第一第二点总结起来就是按下跑,松开停)
松开的时候如果鼠标位置在外圈,就不发送结束信号,一直跑
点击结束按钮或者内圈范围都会发送信号
直接上图原始状态:
持续行走状态:
2.代码DirectionalControl.h头文件
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566#ifndef DIRECTIONALCONTROL_H#define DIRECTIONALCONTROL_H#include <QWidget>#include <QMouseEvent>#include <QPainter>#include <QPushButton>#includ ...
QT详解
Qt 可以做什么?
Qt 虽然经常被当做一个 GUI 库,用来开发图形界面应用程序,但这并不是 Qt 的全部;Qt 除了可以绘制漂亮的界面(包括控件、布局、交互),还包含很多其它功能,比如多线程、访问数据库、图像处理、音频视频处理、网络通信、文件操作等,这些 Qt 都已经内置了。 总起来说,Qt 主要用于桌面程序开发和嵌入式开发。
Qt 来开发 Windows 桌面程序有以下优点:
简单易学:Qt 封装的很好,几行代码就可以开发出一个简单的客户端,不需要了解 Windows API。
资料丰富:资料丰富能够成倍降低学习成本,否则你只能去看源码,关于 DirectUI、Htmlayout、aardio 的资料就很少。
漂亮的界面:Qt 很容易做出漂亮的界面和炫酷的动画,而 MFC、WTL、wxWidgets 比较麻烦。
独立安装:Qt 程序最终会编译为本地代码,不需要其他库的支撑,而 Java 要安装虚拟机,C# 要安装 .NET Framework。
跨平台:如果你的程序需要运行在多个平台下,同时又希望降低开发成本,Qt 几乎是必备的。
学习 ...
1. 概述命名,是计算机史上最难的问题之一,有很多书本都有专门的章节讨论命名规范的问题,鄙人写的总结,是作为一名刚毕业的黄毛小子从刚工作开始积累的,可能没有那些名著写的那么详细,但是贵在真实,我觉得还是有点使用价值的。
我觉得给代码命名有三要:
要有区分度
要有辨识度
要够详细(最少的字表达最清楚的意思)
不要造字,你不是仓颉,英语里面有约定俗成的名称缩写,如info->infomation。
不要为了规范而规范。
目的:不影响理解、不产生歧义、不增加维护成本足以
旨在提高代码的可读性、可维护性,特此制定本规范。参考《Googe C++ Stye Guide》以及《Effective C++》等规范基础上,结合项目开发经验,汇总整理成本规范。
2. 头文件2.1 头文件保护所有头文件都应该使用**#define**防止头文件被重复包含,命名格式为_H,例如:
1234#ifndef MAINWINDOW_H#define MAINWINDOW_H#endif // MAINWINDOW_H
2.2 前置声明“前置声明”是类、函数和模板的纯粹声明,没伴随着其定义。
...


