跳转至

2024

使用pyzbar时踩的坑

近期在PM项目中增加扫描二维码功能,在开发期间(开发环境:Windows 11 23H2)没有遇到什么问题,结果打包并在测试环境(Windows 10 1809)运行时,发现怎么都无法启动,经过打印提示发现出现了下面的这个报错提示

Text Only
FileNotFoundError: Could not find module '你的路径\Python\Python38\site-packages\pyzbar\libzbar-64.dll' (or one of its dependencies). Try using the full path with constructor syntax

关于搭建.NET开发环境

阅读前说明

本文章并不是手把手教你如何搭建的教程,而是结合我踩坑经验的总结。

如果以下内容有错误之处,请自行忽略

这里先简单介绍一下C#与.NET的关系,可以简单的理解为你开发的软件需要在Windows系统上运行,C#可以类比于你开发的软件。.NET可以类比为Windows系统,.NET是一个平台,C#是运行在其上的一个语言,当然,.NET上可以运行的语言还有VB/F#等,但这里我只以C#为主,其他的语言开发环境其实是类似的。

升级pydantic遇到的问题

近期打算给某个项目所依赖的pydantic从1.x升级到2.x,之前通过查阅文档发现由于pydantic的底层用rust重写,导致很多API出现了不兼容问题,因此没有办法直接升级,需要将之前所有的数据模型修改一下,以下是我升级pydantic时对现有的数据模型类的重构过程

处理窗口大小的踩坑

最近在给某个项目设计窗口尺寸的时候,发现怎么设置都会出现设定尺寸和实际在窗口中的尺寸都不一样,而且距离屏幕左上角越远,差值越大,但是很奇怪的是我单独写的测试脚本都没有问题。后来无意间发现可能是这个项目的GUI设置了自适应高DPI1,这就导致实际在窗口中的尺寸和通过geometry()获取到的不一样,比如你在代码中设定的坐标系为x=100px、y=100px,如果是在100%缩放的系统中,通过测量获取到的位置确实是(100,100),但是在125%缩放的系统中,你能测量到的尺寸却是(125,125)

下一个编程语言的选择

阅读前说明

首先我需要声明,作为一个业余python开发者,我对python还是比较喜欢的,丰富的第三方库+解释性语言特性,这对于做一些简单易用的脚本、工具等场景非常方便易用1,但如果要做一些相对复杂的项目,python的某些特性可能给我的开发带来一些麻烦

关于UI设计的一点看法

阅读前说明

本人不是专门做设计的,因此以下内容只为个人的观点,仅作参考

在做了一段时间桌面应用开发后,越来越感觉做一个GUI软件不难,但是做好一个GUI软件不容易,你需要考虑的细节有很多,可能在某些情况下会比开发一个Cli软件的细节更多,最起码需要考虑到这些细节:

pyinstaller使用注意事项

  1. 当对多模块脚本进行打包的时候,需要对界面入口进行打包,同时该脚本名称得符合一定的规范,如果名字是类似__init__.py,打包的时候大概率会出现问题,无法打包

python打包吐槽

解释型语言打包简直让人折磨

为什么这么说呢?下面列举几个我遇到的坑

工作目录问题

就如在这里提到的某个程序的问题,如果在python项目中采用相对路径,就很有可能会出现通过脚本运行没有任何问题,但是使用第三方工具打包编译的时候就会出现一些奇怪的问题,所以如果你做的python项目需要编译,建议单独写一个类或函数去处理工作目录的问题,下面是我自己在用的一段用来处理工作目录的类

对面向对象的一点理解

之前在学习python面向对象的时候,有些教程中会讲解“类方法”、“静态方法”、“属性方法”这些概念,但是在初期开发python项目的时候感觉这些概念用不上,只是使用“纯粹”的面向对象也能写出一个能用的工具来;然而看到有些开发者的代码中会经常遇到这些,那这几个概念该如何去理解呢?以及会在哪些场景下会用到?于是便有了此文