Tkmacox是MacOS的Tkinter模块的Python库扩展

tkmacosx的Python项目详细描述


TKMCOSX

这个模块提供了一些Tkinter修改过的小部件,这些小部件在MacOS上运行得更好,还提供了一些更有用的函数和类。例如Tkmacox的按钮,它看起来和感觉都像本地Tkinter按钮,可以在Mac上更改其backgroundforeground颜色。

安装

$ 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

    • 第一次进口。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在数据库中插入行时自动发送电子邮件?   从进程输出读取的Java问题   java质疑StyledDocument和JTextPane之间的关系,以及接口的正确使用   java错误getPlayer(args[0]);   java如何使Spring引导在重新打包的WAR中包含清单文件?   Java中的除法与模   java使用2d数组和JfreeChart制作散点图   java扩展SonarQube FindBugs插件和自定义FindBugs插件   javaspring:hibernate+ehcache   具有不正确的equals和HashCode实现的java HashMap   java Jaspersoft报告网。旧金山。jasperreports。发动机例外:net。旧金山。jasperreports。发动机填满JRepressionEvalException:计算表达式时出错   java如果输入与其变量不匹配,如何添加错误   在java中使用简单数组[]实现队列   无法启动上下文路径/hsx上的java FAIL应用程序