跳转至

博客

本地搭建pypi镜像

之前管理模块都是将每个模块以及对应的依赖放在一个文件夹中,刚开始效果还行,但随着模块的更新伴随着大量的依赖模块、数量的增加以及每个环境需要安装的模块越来越多,如果按照之前的管理方法肯定是不行了,所以想研究如何通过搭建本地pypi镜像来管理,并且这样的好处是后续安装模块也可以模拟在线安装,让pip自行解决依赖问题,这样每次只需要输入pip install xxx就舒服多了

QDarktheme模块使用的注意事项

  1. 如果想要提前加载该模块中的主题,如果直接在app = QApplication(sys.argv)的下一行写上qdarktheme.setup_theme('auto'),怎么运行都会出现报错提示,经过多次检查,发现只有将窗口主界面的代码放在一个脚本中,同时还需要编写另外一个脚本调用含有窗口主界面的脚本代码,另外在导入模块的时候还需要讲究顺序,需要将import qdarktheme放在最后面才能不会出现报错提示
  2. 如果提前加载了自定义的QSS文件,且一旦需要更换主题,会导致自定义的QSS失效,目前的解决办法是单独写一个脚本,用来让其他的脚本调用这个QSS代码,这样可以规避该问题,另外,同时使用主题和QSS的时候,需要这样写qdarktheme.setup_theme('auto',additional_qss=qssStyle),这样不会出现主题无法调整的问题

QTableWidget排序

有的时候想实现点击QTableWidget的表头就能实现排序的效果,一直没有找到合适的资料,前两天无意间发现这个功能了,以下是实现代码

QTableWidget选择问题

有的时候想设计成一次只能选择一行数据,但现实情况是没有一个直接的方法可以实现,要么允许可以选中多行,要么只能选择一个单元格,下面的代码可以解决这个问题

Word页面排版

Python
from docx import Document
from docx.shared import Inches
from docx.enum.section import WD_ORIENT

# 加载文档
document=Document('测试.docx')

# 加载sections类
sections = document.sections
section = sections[0]

# 设置上边距、左右边距为0.5英寸
section.left_margin = Inches(0.5)
section.top_margin = Inches(0.5)
section.right_margin = Inches(0.5)


# 设置纸张格式
section.page_width = Inches(0.5)
section.page_height = Inches(0.5)

# 设置纸张方向
# section.orientation = WD_ORIENT.LANDSCAPE # 改为横向
# section.orientation = WD_ORIENT.PORTRAIT # 改为纵向
"""好像不管用,不知道是咋回事"""

# 保存文档
document.save('测试2.docx')

ini配置文件问题

平时我会用到configparser.ConfigParser()来记录ini配置文件,但是近期在开发的时候就遇到一些问题,比如如果value中含有%,会导致无法正常使用set(),当时因为技术问题,就只能通过写入两个%%来解决,后来了解到configparser模块还有一个类是configparser.RawConfigParser(),如果你用这个类来写入含有%的数据,就没有出现问题了。 但是在某些特殊情况下,section中的key因为含有一些特殊值,导致无法使用configparser模块,比如C:\Program Files\VeraCrypt\veracrypt.inf,没有办法,就只能使用QSetting来解决,相关代码如下: