美文网首页
Python-GUI-颜色选择器

Python-GUI-颜色选择器

作者: 一个厨子 | 来源:发表于2018-09-19 16:29 被阅读208次

最终效果:

点击复制颜色代码

点击颜色,即可复制颜色代码,然后在需要的地方直接 control + v 粘贴。


1. 首先获取需要的颜色

我展示的颜色源自 Google Material Colors (得翻墙咯)

链接: https://material.io/design/color/the-color-system.html#tools-for-picking-colors

颜色很多,咋办呢,一个个复制?No!毕竟我那么懒。

所以获取网页源码,然后用xPath取出来就好辣。

从HTML文件中提取颜色代码

html 是lxml中的。

from lxml import html 

之后,把颜色写入文件备用,取色过程就结束了。

2. 将颜色绘制出来

这就涉及到Python GUI的知识了,这里我使用的是 tkinter

form tkinter import *

首先配置一下主窗口和画布

初始化窗口和画布

关于 Tk()

Toplevel widget of Tk which represents mostly the main window of an application.

It has an associated Tcl interpreter.

大意就是:窗口。 :)

另外要显示出来,需要加上

root.mainloop()

... 画布尺寸写死了,每一格的大小也写死了 ...

画格子:

绘制颜色格子

各种乘法是计算格子的位置。

create_rectangle 方法中有两个参数 fill=colortag=color

color 是当前的颜色
fill=color 表示用此颜色填充方格
tag=color 设置一个Tag,值就是颜色代码。目的是为了传递颜色代码,供点击时使用。

tag_bind() 这个方法是用来实现点击事件,selectColor 就是点击时调用的方法。

点击

root.clipboard_clear() 清空剪贴板(Tk的)
root.clipboard_append(cell_color) 将颜色代码加入剪贴板

到此,功能便完成了,挺简单也挺实用的小工具,方便自己选颜色。

3. 将Python脚本转换为可执行的.app文件 (Mac)

使用 py2app 将Python脚本转为 .app应用

脚本名为:ColorGrid.py ,打开Terminal

1)安装py2app

pip install py2app

2)创建 setup.py 文件

py2applet --make-setup ColorGrid.py

在setup.py中,OPTIONS = {} 中填入 'argv_emulation': True

如果有使用其他的数据文件,要在 DATA_FILES = [] 中填入。

本例中使用了一个文件(color_list.txt)来读写颜色。所以如图:

setup.py

3)测一测

python3 setup.py py2app -A

-A 表示 alias mode,简单的理解就是测试,这个并没有生成一个独立的可运行文件,而是依赖了本机的环境。

此命令后会生成 build/ ,dist/ 两个文件夹。

运行一下:

open ./dist/ColorGrid.app/Contents/MacOS/ColorGrid  

或者

open -a dist/ColorGrid.app

看看运行是否成功,不成功的话,可以

open -a Console

开打Console,看看错误信息。 (虽然我是看不大懂 :(

4)正式打包

其实就是不加 -A。 :)

python3 setup.py py2app

记得要先删除 build/ 和 dist/

rm -rf build dist

然后在生成的 dist/ 文件夹下,双击 ColorGrid.app 即可运行。

这已经是一个独立的应用,所以可以把它发给你的朋友们使用了。

小插曲:

在使用 py2app 转换Python脚本的时候,生成的 .app 一直运行不起来。

最后找到这个回答

Link:https://stackoverflow.com/questions/45493029/valueerror-character-u6573552f-py2aap

说是 py2app 0.14 的问题,换成 0.13 就好了。

而此时(2018/9/17)最新版本为 0.17 ,于是我从0.17往下尝试一直到 0.13 ,才成功。 :(

I don't know why ? ??

# 指定安装版本
pip install py2app==0.13

项目源码

相关文章

  • Python-GUI-颜色选择器

    最终效果: 点击颜色,即可复制颜色代码,然后在需要的地方直接 control + v 粘贴。 1. 首先获取需要的...

  • 时间选择器 UIDatePicker

    改变时间选择器颜色及选中字体颜色 选中方法

  • 科研配色

    打开mac 自带的颜色选择器可以选择颜色image.png

  • android绘图看这篇就够了

    1、基础必备知识 Android 颜色渲染(一) 颜色选择器 ColorPickerDialog剖析 Androi...

  • HTML5和CSS3新增内容

    CSS3选择器有哪些? 属性选择器、伪类选择器、伪元素选择器。 CSS3新特性有哪些? 颜色:新增RGBA,HSL...

  • Element ColorPicker 颜色选择器绑定值valu

    场景:根据后端返回数据列表,动态生成多个颜色选择器,并在用户设置后,返回颜色选择器设置的值。 1.最初思路 1)请...

  • 轻量级JavaScript(JS) HSLA颜色选择器

    有时候我们需要一个颜色选择器让用户在某个对象上自定义颜色,这里我们实现一个简单的小型的js,交互式的颜色选择器。 ...

  • 颜色选择器

    自iOS13之后,苹果加入大量的UI类。以前我就抱怨过苹果的UI控件少,API死板的问题。 iOS出现了两个UI类...

  • 颜色拾取快捷方法(无需颜色选择器)

    经常看到有朋友问“是否有好用的颜色选择器推荐”,但我们拾取色值并不一定要用颜色选择器,这里我推荐一个特别好用颜色拾...

  • CSS之颜色

    前面我们讲完了css选择器,接下来说说如何使用选择器吧,给我们的网页添加上多姿多彩的颜色吧。 一,颜色 1.RGB...

网友评论

      本文标题:Python-GUI-颜色选择器

      本文链接:https://www.haomeiwen.com/subject/xcpinftx.html