- 博客(22)
- 收藏
- 关注
原创 python argwhere
是 NumPy 库中的一个重要函数,用于返回满足给定条件的元素索引位置。对于多维数组而言,此函数会返回这些元素所在的行列索引坐标1。
2025-01-07 16:57:16
269
原创 python eval 函数 ravel()用法 enumerate() 函数的作用
是 Python 内置的一个函数,常用于动态执行 Python 表达式。它可以将字符串形式的 Python 表达式当作代码进行求值,并返回计算结果。这个函数通常用于需要动态计算或执行代码的场景,但由于它的灵活性,也有一定的安全隐患,特别是在处理用户输入时,需要小心使用。eval() 中可以是一段执行的python代码字符串,如果也可以是枚举中类型的字符串。ravel() 是将numpy压缩成一维数组,并且元素不重复。
2025-01-07 16:19:48
152
原创 在C++中实现单例模式并开放Python接口
在C++中实现单例模式并开放Python接口,通常有两部分需要实现:下面我将演示如何实现这两部分:首先,创建一个简单的 C++ 单例类:在C++代码中调用 python 对象和方法#include int main() {// 初始化 Python 解释器Py_Initialize(); // 运行一段 Python 代码 使用这个函数应该也行 PyRun_String()PyRun_SimpleString("print('Hello, Python from C!')");//
2025-01-06 09:15:25
334
原创 正则表达式限制只能输入正数,通过槽函数对输入内容判断,因为,用户可以输入空,或者只输入一个零后边不输入直接跳出或者,点击其他输入框
ui->edt_iceThick->setValidator(new QRegExpValidator(QRegExp("(0)|(^0\.[0-9]{1,10}$)|(^[1-9][0-9]*[\.]?[0-9]+$){1,10}"))); void BladeBaseInformation::editingFinishedslot() { QLineEdit* lineEdit = qobject_cast(sender()); if
2024-03-11 09:27:30
403
原创 QTreeWidget系列--QTreeWidgetItem可随意移动(拖拽),更换父亲节点
方法分如下两步:第一步,在datatree类(继承自qtreewidget)的构造函数中设置这棵树具有如下两种特征:第二步,重写 startdrag()函数,在里面写上如下代码://
2023-12-13 14:43:04
829
1
原创 关于指针=0来判断是不是为空的一点个人理解
你看看这个代码一个指针有时候空是0 ,有时候空指针不一定必须是0。如果你想让指针是0 你必须delete *p 后再设置 p=null 如果你只是定义一个指针double *p 没有给他显示指向null 那他可是一个野指针,指向一个任意空间的,这时候你让他p==0;返回分有可能是false。
2023-11-30 19:45:06
237
1
原创 QTextEdit根据 内容调整文字输入框大小
QTextDocument *document = _uiLabel->NoteEdit->document(); _uiLabel->NoteEdit->setFixedHeight(document->size().height() + 20);
2023-11-28 20:33:54
480
原创 QColor 和String转换
版权声明:本文为优快云博主「_东门吹雪」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.youkuaiyun.com/octdream/article/details/81870478。
2023-10-18 09:51:53
540
1
原创 外观模式设计
设计模式有一条是;最小知道原则。就是说。用户知道的越少越好。外观模式就是解决这个问题,将一些繁琐的工作放在一个具体类中通过调用这个方法实现调用。
2023-10-14 19:58:39
62
1
原创 原型模式。
在一个地方使用时候我们可以定义一个父类变量,通过传入类型调用clone()其实调用的对应子类中的方法深拷贝方法。这样子获得的对象类型就是对应的类型,我们不应Switch()case 来回判断是那种类型,也就是说每次添加新的类型只要继承这个接口,原型模式,夏侯俊讲的很清楚,主要应用于产品裂变,对产品进行复制,父类中虚函数clone()在子类中实现,实现深拷贝。
2023-10-14 19:02:22
46
1
原创 关于生成器,建造者模式的理解总结
建造者模式主要解决的是生产流程一样的类,夏侯俊老师讲的很透彻,比如生成一个客户消费清单,银行打印单,都需要打印头 数据,结尾,我们可以将这三部分抽象出来。根据不同的实现方法打印出来不同的结果,只要是流程相同可以生成不同的结果。例如打印银行对账单和网络数据包一样,都是添加头 数据 ,结尾 两者没有任何关系,但是他们的流程相同,我们可以继承同样的接口,通过子类不同实现方法,在客户端调用后产生不同结果。这种模式主要还是应用于类实现步骤繁琐,但是流程相同,通过这一统一接口的管理类进行管理。
2023-10-14 18:48:22
71
1
原创 shader pow()函数
/灰色部分因为是介于零到一的小数,所以会越乘越小,0.5 * 0.5 = 0.25,值变小之后,部分像素颜色就变黑,白色的高光范围也就缩小了。//pow(x,y)的意思是以x为底,x的y次方,phong模型中有黑白灰 三个层次,该函数的作用就是把灰色部分变黑,是高光变小。//黑色部分的值为0,白色部分的值为1,灰色部分的值介于两者之间,也就是(0,1)这个区间,//pow函数执行之后,每个像素颜色乘以自己本身,本来是黑的部分零乘以零还是零 依然是黑色,//白的部分一乘以一,依然是白色。
2023-06-25 17:23:43
1005
原创 【无标题】
在事件函数中可对事件对象调用accept()和ignore(),这两个函数之间的区别在于对“事件”的反应不同,前者会把传递过来的事件给“收下”,而后者则会“无视”掉这个事件,让事件继续传播给自己的父组件(注意,是父组件,而不是父类,事件的传播是根据组件的继承关系而不是类的继承关系)。视口 用于在窗口显示的一个窗口, 具体讲解https://www.cnblogs.com/realid/archive/2013/05/05/3061312.html。//设置视图,鼠标跟踪功能开启,//窗体设置为透明色。
2023-05-29 17:01:00
178
1
原创 paintEvent(QPaintEvent *e)函数参数使用问题
自己重载paint Event()函数时是不用使用参数的,但是为了保证系统调用自己写的重载函数必须自己写的重载函数和系统的函数完全一样,所以必须这么写。同时可以调用QWidget::update()或者QWidget::repaint()来强制产生一个绘制事件。repaint()函数会强制产生一个即时的重绘事件,而update()函数只是在Qt下一次处理事件时才调用一次绘制事件。如果多次调用update(),Qt会把连续多次的绘制事件压缩成一个单一的绘制事件,这样可避免闪烁现象。
2022-12-14 11:24:40
866
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人