跳转至

第三方模块

QDarktheme模块使用的注意事项

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

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来解决,相关代码如下:

loguru显示日志和写入日志

自定义日志显示和写入

loguru是一个比较简单的日志管理的模块,但是如果有时有这样的需求:程序同时有info、warning、error等日志需要写入到文本中,但是不是所有的日志都需要打印到终端中让用户看到,比如只让用户看到warning、error的日志信息,但是隐藏部分info的日志,这个时候可以使用以下的方法:

pykeepass使用技巧

  1. 利用该模块创建数据库,代码示例如下:
    Python
    from pykeepass import create_database
    
    db = create_database("example.kdbx", password="password")
    db.save()