PyQt5 使用 QSettings

虽然写的是 PyQt5 中遇到的问题,PyQt4 中也可能会遇到类似问题。

中秋假期在家继续改进之前写的小工具,第一件事把设置数据的存取从直接读写 yaml 文件改成了使用 QSettings。什么是 QSettings?摘一段 Qt 文档的翻译。

QSettings 类提供平台无关的持久化应用程序设置。

用户通常期待应用程序在不同会话中保留其设置(窗口大小和位置、设置项等等)。这些信息在 Windows 上经常存储在注册表中,在 Mac OS X 和 iOS 上则保存在 plist 文件中。在 Unix 系统上,由于缺少标准,许多应用程序(包括 KDE 程序)使用 INI 文本文件(来存储设置)。

QSettings 是围绕这些技术提供的一个抽象层,让你使用一种可移植的方式来存储和恢复应用程序设置。它同时支持自定义存储格式。

阅读全文

Qt 中的窗口大小

本文中所说的窗口都是指 decorated top-level widget,对于简单程序来说通常就是 QMainWindow 的子类对象。 之前玩 Qt 的时候一直以为 QMainWindow 的大小就是 .geometry() 报告的大小(也就是 .width() 和 .height()),结果今天发现其实不对的。 起因是我想将一个窗

阅读全文

写了一个键盘计数器

起因是有个朋友说想写一个小工具看看自己每天敲了多少次键盘,当时因为很忙就直接回复用 pyHook。后来没忍住,自己业余时间写了个图形界面的工具,用了几天感觉还可以了,放出一个 exe 下载。 项目在 Microco

阅读全文

[速记] Python 使用网络代理

在测试 Telegram 机器人的时候遇到了网络问题(由于众所周知的原因,Telegram 的服务器在国内大部分地区无法访问),于是需要使用代理。我本机上是有一个运行在 1080 端口的 socks5 代理,那么速记一下如何使用。 urllib2 python-telegram-bot 是直接使用

阅读全文

设置树莓派使用外置硬盘启动

整件事情是这样的:某一天我尝试在树莓派上安装一个 vim 的编辑器插件 YouCompleteMe,需要从源码编译。编译这个比较耗费内存,可能我分配的 SWAP 不够大(1024MB),导致内存不足,然后 sshd 就挂了。嗯,并且已经过去了一个小时我也没法连接上去。于是我就拔电源重启了,这下可好,SD 卡彻底启动不了了,估计是文件系统损坏之类的。上网搜了一下这种现象似乎非常常见,只要在断电时 SD 卡还在写入就可能出现。于是我就想到要把系统装在外置硬盘上。

阅读全文

12月近况

11月和12月似乎并没有什么重要的事情发生的样子。那么以下是并不重要的流水账。 黑五 Steam 打折,趁机入手了几个之前玩过盗版的游戏. 从 12月13日 起,本站开始使用 HTTP2 了(托管在别处的子域名除外)。 之前因为网站迁

阅读全文

使用 Gogs 搭建自己的 Git 服务器

作为个人私有云的一环(虽然是搭建在公共服务器上),一直都很想搭建一个类似 GitHub 的服务,但 GitLab 太复杂了(说句不好听的,GL 就是 Git server 中的 WordPress),别的又相当简陋,于是一直以来都只有围观的份。最近发现上半年关注的 Gogs 经过几个版本迭代,已经达到基本可用的状态了。于是搭建了一个自己的服务,用来镜像自己分散在各个服务商处的代码,以及开新坑的时候托管用。这里把安装的过程和一些需要注意的地方记录一下。

阅读全文