- 博客(16)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 C++ 指针的错误用法(一)
今天又写了一个Bug,好久没用指针了,有点晕头。抽象一下,Bug大概长这样:struct Object{ int type;};int get_object(Object *obj){ obj = new Object; obj->type = 1; return 0;}int main(){ Object *obj = NULL; get_object(obj); std::cout << "obj:" &
2021-08-08 21:42:20
467
原创 Qt 鼠标在窗口外区域点击时关闭窗口
鼠标在某窗口外区域点击时,关闭该窗口。想要实现这样的功能,大致有以下几种思路:重写鼠标点击事件 (mousePressEvent()),若鼠标位置不在该窗口区域内时,关闭窗口 重写焦点失去事件 (focusOutEvent()),若窗口失去焦点,关闭窗口 设置窗口属性为Qt::Popup,可自动实现窗口外点击关闭窗口this->setWindowFlags(Qt::Popup);Qt::PopupIndicates that the widget is a pop-up top-.
2021-07-27 12:01:48
3843
原创 Python 3 math 库函数一览表
pythonmath模块提供了对 C 标准定义的数学函数的访问,该模块中的函数不能用于复数,如需支持复数,可使用cmath模块中的同名函数。查看 math 模块的内容:>>> import math>>> dir(math)['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2...
2021-07-25 18:52:55
860
1
原创 Python 3 数字(Number)、各运算符、数学函数一览表
本章详细介绍了 Python 支持的三种不同的数字类型:整数 (int), 浮点数 (float), 复数 (complex),及各类型转换的方法,并整理了各种运算符和数学函数速查表。
2021-07-15 21:32:19
1022
原创 QMetaEnum: C++ 中将枚举值自动转换为字符串
当我们需要在日志中输出枚举类型的信息时,如果只记录一个数字,查看日志时就需要再去查找这个枚举值的意思,不直观,不方便,我们会希望可以直接输出这个枚举值对应的字符串。比如下面这个枚举 Color,我们该如何将枚举值 Red 转化为字符串 “Red”?enum Color{ Red, Orange, Yellow, green };# 运算符一种最直接的方法是:使用 map 或者 list 之类的容器做一个映射。还有一个更简单的做法,我们可以借助宏 (macro) 的 # 运算符 (Stringi
2021-07-11 20:28:12
2278
原创 Qt Widgets 之 QDockWidget(停靠窗口)
在 Qt 中,停靠窗口 (dock window) 都是QDockWidget 的实例,可以停靠在 QMainWindow 的中央部件 (central widget) 的上下左右四个区域,停靠的 QDockWidget 没有框架,有一个较小的标题栏;也可浮动出来作为独立窗口。Qt 提供了很多相关示例,其中Main Window最为全面详细,我们今天就就着这个示例研究一下 QDockWidget 的用法及特性。.......
2021-07-10 23:41:17
3555
原创 Python 3 变量和数据类型概述
Python 3 有六个标准的数据类型:Number(数字)、String(字符串)、List(列表)、Tuple(元组)、Set(集合)、Dictionary(字典),其中,数字、字符串、元组为不可变数据类型,列表、集合、字典为可变数据类型
2021-07-01 21:47:39
263
原创 Python 3 注释
注释通常分为行注释和块注释。python 的单行注释以 # 开头,块注释以三个单引号(''')开头、三个单引号结尾,或者三个双引号(""")开头、三个双引号结尾。
2021-06-28 22:25:48
484
原创 Python 3 学前准备:一个Python、一个命令行终端、一个简单的文本编辑器足矣
Python 3 学前准备:一个Python、一个命令行终端、一个简单的文本编辑器(Atom)足矣。
2021-06-27 17:33:18
504
2
原创 Qt 5 下载与安装详解
下载地址1:https://www.qt.io/download下载地址2(推荐):http://download.qt.io/
2021-06-23 22:41:25
9138
1
原创 Qt 内置图标一览表
在 GUI 编程时,经常会需要一些小图标,如果直接去网上找现成的,可能有版权问题,自己做的话又麻烦,耽误时间。其实 Qt 有很多内置的图标可供我们使用,使用 QStyle::standardIcon() 即可获得这些内置图标。
2021-06-06 18:30:23
3075
2
原创 Python2到Python3的迁移与兼容
1. 参考表 python 2 python 3 python 2 & python 3 python 2 & python 3 优化 1 <>, != != != 2 3/2==1 3//2==1 , 3/2==1.5 3//2==1 , 3/2==1.5 3 long, int int six.integer_types 4 uni...
2021-06-03 20:32:00
669
1
原创 QVariant :在C++中实现python的字典功能
在 python 中,字典是一种可变容器模型,可存储任意类型对象。字典的值可以取任何数据类型,键必须是不可变的,如字符串,数字或元组,例如:student_aa = {'name' : 'Kristen', 'age' : 18, 'course' : ('Chinese', 'Mathematics', 'English'), 'family' : {'father' : 'ff', 'mother' : 'mm'}}如果我们需要将这种 python 代码转化成 C++,该怎么做呢?这时就可
2021-05-23 17:36:53
1206
原创 Qt 事件处理机制 (二):事件过滤器
事件过滤的方法:installEventFilter(),指定的过滤器对象在其 QObject::eventFilter() 函数中接收目标对象的事件。 事件过滤器可以在目标对象之前处理事件,从而使它可以根据需要检查和丢弃事件。 可以使用 QObject::removeEventFilter() 函数删除现有的事件过滤器。 notify()我们还使用上一章的例子( MyWidget ),来观察事件的传递,窗口如下。为 w0安装事件过滤器 w2,然后重写 eventFilter() 函数,..
2021-05-13 21:50:24
433
3
翻译 Qt文档之事件体系 (The Event System)
本文译自 https://doc.qt.io/archives/qt-4.8/eventsandfilters.htmlQt的文档做的很好,功能都写的都很清楚,我们平时遇到什么问题,都可以去查看相关文档。以下是Qt文档中对于其事件体系的描述。In Qt, events are objects, derived from the abstractQEventclass, that represent things that have happened either within an app..
2021-04-19 23:08:03
346
原创 Qt 事件处理机制 (一):事件处理器
上一篇翻译了Qt 关于消息体制的文档,通过这个文档可以知道,如果想要拓展某个类的功能,我们可以继承这个类,在某个虚函数中实现需要拓展的内容,并调用基类的这个虚函数,以保留其他情况的默认处理。结合Qt 文档, 我们做个实验,自定义Widget,继承自QWidget,在 mousePressEvent() 这个虚函数中打印一些信息,实例化几个Widget,并依次嵌套,代码如下:Widget::Widget(int index, QWidget *parent) : QWidget(paren..
2021-04-19 23:07:03
527
windows 通过修改注册表修改系统环境变量
2016-03-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人