大家好,我是欧盆索思(opensource),每天为你带来优秀的开源项目!
似乎每个人都有一个 GUI 情节,总希望自己使用的语言能开发 GUI 程序。比如不少 Go 爱好者就有折腾。
在 Go 中,目前似乎还没有公认成熟的 GUI 库,但这样的库还不少,比如:walk、go-gtk/gotk3、QT、fyne 等。对 GUI 有所了解的人,应该听说过 QT,很有名。而 https://github.com/therecipe/qt 是 QT 的 Go 绑定,支持 Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi 等。今天这个项目,主要还是想让感兴趣的你了解 Go 中怎么使用该库开发 GUI 程序。
项目名:PDFInverter,项目地址:https://github.com/rootVIII/pdfinverter,这是刚开源的。
PDFInverter 同时提供 GUI 和 CLI 方式,根据源 PDF 创建一个新 PDF,所有颜色将被反转(原始显示在左侧):
这就是暗黑模式~
2-3 页的 PDF 很快就反转完毕。但是,一份 400 页的 PDF 可能需要 3-4 分钟。
和其他的 Go 程序一样,你可以通过以下命令去安装:
go get github.com/rootVIII/pdfinverter
使用:
# Required -i input PDF file path -o output PDF file path Note: If no command line arguments are provided, the GUI version will open.
看看 GUI 部分:
相关代码在这里:https://github.com/rootVIII/pdfinverter/blob/master/gui.go。可以通过这个简单的项目,当做 qt 的一个小练习。