Tkmacox是MacOS的Tkinter模块的Python库扩展
tkmacosx的Python项目详细描述
TKMCOSX
这个模块提供了一些Tkinter修改过的小部件,这些小部件在MacOS上运行得更好,还提供了一些更有用的函数和类。例如Tkmacox的按钮,它看起来和感觉都像本地Tkinter按钮,可以在Mac上更改其background和foreground颜色。
安装
$ pip install tkmacosx
用法
from tkinter import *
from tkmacosx import SFrame, Button
root = Tk()
frame = SFrame(root, bg='pink')
frame.pack()
for i in range(50):
b = Button(frame, text='Button %s'%i, borderless=1)
b.pack()
root.mainloop()
演示
$ python -m tkmacosx
小部件
按钮小部件
TkmacoxButton
小部件类似于defualt tkinterButton
,但支持MacOS上的所有参数,包括一些额外功能。
参数:
修改一个或多个小部件选项。如果没有给出任何选项,则该方法返回包含所有当前选项值的字典。所有选项都与tkinterButton几乎相同。这里是TKMCOSX按钮的额外选项。
activebackground
:按钮处于活动状态时使用的背景色。为活动背景中的渐变效果提供两种颜色的元组。activeimage
:按钮激活时使用的图像。activebitmap
:按钮处于活动状态时使用的位图。bordercolor
:按钮边框的颜色。borderless
:将按钮与其父级的背景混合,可以得到没有方形边框的干净外观。它会自动变色。disabledbackground
:禁用按钮时使用的颜色。
用法:
from tkinter import * from tkmacosx import Button root = Tk() B1 = Button(root, text='Mac OSX', bg='lightblue', fg='yellow', borderless=1) B1.pack() root.mainloop()
sframe小部件
TkmacoxSFrame
小部件就像Tkinter框架,但可以垂直滚动。
参数:
修改一个或多个小部件选项。如果没有给出任何选项,则该方法返回包含所有当前选项值的字典。所有选项都与tkinterFrame几乎相同。以下是TKMCOSX SFRAME的额外选项。
scrollbarwidth
:设置滚动条的宽度。mousewheel
:设置鼠标滚轮滚动。
用法:
from tkinter import * from tkmacosx import SFrame root = Tk() frame = SFrame(root, bg='pink') frame.pack() for i in range(50): Button(frame, text='Button %s'%i).pack() root.mainloop()
变量
colorvar变量
Tkmacox的colorvar为它分配给的每个小部件设置相同的颜色。因为colorvar是一个tkinter变量包装器,所以每当对colorvar实例进行更改时,它都会更改小部件的颜色。colorvar接受十六进制值或tkinter支持的所有颜色名,get()
方法只返回十六进制值。它将处理different小部件的以下所有关键字参数。'fg'、'foreground'、'bg'、'background'、'activebackground'、'activeforeground'、'activeforeground'、'disabledforeground'、'highlightbackground'、'highlightcolor'、'selectforeground'、'readonlybackground'、'selectbackground'、'insertbackground'、'disabledbackground'^{em
用法:
from tkinter import Tk, Label from tkmacosx import colors, ColorVar root = Tk() root.geometry('100x100') color = ColorVar() color_list = list(colors.OrderedHex) L = Label(root, textvariable=color, bg=color) L.place(relx=0.5, rely=0.5, anchor='center') def change_color(c=0): if c >= len(color_list): c=0 color.set(color_list[c]) root.after(70, change_color, c+1) change_color() root.mainloop()
dictvar变量
Tkmacox的dictvar存储python字典。它非常类似于tkinterStringVar
,几乎没有修改。DictVar.get()
返回dict
类型的实例,而stringvar返回str
类型dictvar方法get()
有点不同get(key=None, d=None)
如果key=None
它将返回完整的字典,则从get()
方法获取密钥。
用法:
from tkinter import * from tkmacosx import DictVar root = Tk() dictionary = DictVar(value = {'width': 100, 'height': 200}) print(type(dictionary.get())) print(dictionary.get()) print(dictionary.get('width'))
更改日志
0.0.5
- 修复了多个按钮的
borderless
无法正常工作的错误。 - 改进了init.py文件。
- 修复了多个按钮的
0.0.4
- 修正了导入错误。
0.0.3
- 添加了docstring。
0.0.2
- 修正了运行命令
python -m tkmacosx
时的错误。
- 修正了运行命令
0.0.1
- 第一次进口。