yawttk是用于tile的python包装器。它提供的类允许显示、定位和控制本机外观小部件。

yawTtk的Python项目详细描述


ttkwidget类是yawttk包的核心。它装载瓷砖和 覆盖配置功能以管理小部件选项和样式 选项。

支持此项目

http://bruno.thoorens.free.fr/img/gratipay.png

-

http://bruno.thoorens.free.fr/img/bitcoin.png

3jgib9sqidlyml7qkbytjukhq2nyg6z63d

延伸

yawttk小部件扩展了ttkwidget,并且可以配置为 如果扩展选项为true,则为Tkinter小部件。有两种方法 禁用此功能:

>>> # for all widgets
>>> customize_all_widgets(False)
>>> # or
>>> # for a single widget on its creation
>>> button = Button(extend = False, text = "Simple button")

配置

在tile中,小部件选项和样式是分开的。Yawttk将它们合并到 尽量简化和匹配tkinter编码方式。记住它是 只有当extend选项为true时才可用。调用配置函数 通过init和setattr类方法,有3个 配置小部件的不同方法。

>>> # configure widget with __init__ function
>>> button = Button(
... style = "custom.Toolbutton",
... anchor = "center",
... font = ("Tahoma", "8", "bold"),
... )
>>> # or with __setattr__ function
>>> button["foreground"] = "steelblue3"
>>> button["background"] = "lightgreen"
>>> # or even with configure function
>>> button.configure(
... command = exit,
... text = "Toolbutton",
... padding = (5, 1, 5, 1)
... )
>>> # pack and see...
>>> button.pack(fill = "x", padx = 5, pady = 5)
http://bruno.thoorens.free.fr/yawttk/wiki/images/steelblue_button.png

在本例中,明确定义了小部件样式。如果不是的话 根据小部件类型和名称给出一个。下一个例子显示了不同的 yawttk风格确定的可能性。注意那个名字 由于Tkinter中的自动命名,因此不需要选项。

>>> b1 = Button(extend = False, text = "Button 1", name = "button001")
>>> # style widget is "TButton"
>>> b2 = Button(extend = False, text = "Button 2", name = "button002", style = "custom.TButton")
>>> # style widget is "custom.TButton"
>>> b3 = Button(extend = True, text = "Button 3", name = "button003")
>>> # style widget is "button003.TButton"
>>> b4 = Button(extend = True, text = "Button 4", name = "button004", style = "TButton")
>>> # style widget is "TButton"
  • b1和b2只能使用ttk::style configure命令配置
  • b3和b4可以使用setattr进行自我配置并配置功能
  • b1和b4是默认按钮,即修改会影响所有按钮

限制

tile(或tk 8.5)中定义了许多主题。赢家和专家 不允许对所有小部件选项进行修改。请看下面的示例:

>>> # other way to configure widget is to give a dictionary...
>>> cnf = dict(
... # relief is not supported in "xpnative" and "winnative" theme
... relief = "solid",
... # options supported by all theme
... anchor = "center",
... font = ("Tahoma", "8", "bold"),
... foreground = "steelblue3",
... background = "lightgreen",
... command = exit,
... text = "Flat button",
... padding = (5, 1, 5, 1)
... )

对于每个互动程序主题:

>>> Button(None, cnf).pack(fill = "x", padx = 5, pady = 5)

Windows主题:

http://bruno.thoorens.free.fr/yawttk/wiki/images/winnative_flatbutton.pnghttp://bruno.thoorens.free.fr/yawttk/wiki/images/xpnative_flatbutton.png

其他主题:

http://bruno.thoorens.free.fr/yawttk/wiki/images/default_flatbutton.pnghttp://bruno.thoorens.free.fr/yawttk/wiki/images/alt_flatbutton.pnghttp://bruno.thoorens.free.fr/yawttk/wiki/images/clam_flatbutton.pnghttp://bruno.thoorens.free.fr/yawttk/wiki/images/classic_flatbutton.png

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

推荐PyPI第三方库


热门话题
java StoredProcedureCall 1x Varchar输出1x游标输出   java StackOverflower运行时错误   算法Java基准测试:确保对象在超出范围后不被重用   java在SpringDataNeo4j中使用RelationshipEntity保存节点的正确方法是什么?   命令行参数设置登录java的属性   Java泛型AnyType,如何允许调用任何方法?   java如何检查Html字符串和字符串   sql如何插入一个日期,然后从java执行的存储过程中向oracle数据库中插入的日期添加小时、分钟和秒   java 安卓 3布局相同的活动   安卓应用程序中的java毕达哥拉斯   使用javaw在批处理文件中运行JAR的服务会在process explorer XYNTService中产生多个java进程   java需要在Derby中编写正确的查询   多线程Java在缓存中为多个线程保存变量   持久化java实体引用问题   java在SpringMVC应用程序中使用本地线程安全吗?   JavaSwing,100个文本字段都有类似的任务,所以我想写一个函数来完成这个任务   java我们在新字符串(“literal”)中放置的字符串文字发生了什么变化;   java注入需要在GUI中使用枚举的对象   在Spark SQL中加载JDBC表时java数据不正确