专栏首页算法channelPython-GUI|Tk类,属性文档使用指南

Python-GUI|Tk类,属性文档使用指南

这是一篇tkinter相关API的介绍性地帮助文档,包括常用的包,类结构图,属性取值等,可以作为一个工具文档,供大家查阅。

01Tk中的包

__main__

colorchooser

commondialog

constants

dialog

dnd

filedialog

font

messagebox

scrolledtext

simpledialog

test (package)

tix

ttk

02 Tk中的类图

builtins.object

CallWrapper

Event

Grid

Image

BitmapImage

PhotoImage

Misc

BaseWidget

Toplevel(BaseWidget, Wm)

Widget(BaseWidget, Pack, Place, Grid)

Button

Canvas(Widget, XView, YView)

Checkbutton

Entry(Widget, XView)

Frame

Label

LabelFrame

Listbox(Widget, XView, YView)

Menu

Menubutton

OptionMenu

Message

PanedWindow

Radiobutton

Scale

Scrollbar

Spinbox(Widget, XView)

Text(Widget, XView, YView)

Tk(Misc, Wm)

Pack

Place

Variable

BooleanVar

DoubleVar

IntVar

StringVar

Wm

XView

YView

builtins.str(builtins.object)

EventType(builtins.str, enum.Enum)

enum.Enum(builtins.object)

EventType(builtins.str, enum.Enum)

03

控件的标准属性

常用控件的标准属性都包括如下:

1 activebackground,

2 activeforeground,

3 anchor,

4 background,

5 bitmap,

6 borderwidth,

7 cursor,

8 disabledforeground,

9 font,

10 foreground,

11 highlightbackground,

12 highlightcolor,

13 highlightthickness,

14 image,

15 justify,

16 padx,

17 pady,

18 relief,

19 takefocus,

20 text,

21 textvariable,

22 underline,

23 wraplength

04 如何查看属性取哪些值

Frame是一个可以装载其他控件的容器控件

如下所示的代码,表示创建一个根窗口,再在根窗口上创建一个Frame控件。

创建Frame时,设置了03节中提到的两个共用属性:relief,borderwidth,

第一个问题,如何知道它们取哪些值? 属性的取值一般位于constants模块中。

tk = Tk() frame = Frame(tk, relief=RIDGE, borderwidth=2) frame.pack(fill=None, expand=1)

参考05节介绍的属性,可以知道属性取哪些值,这些属性表示的含义:

relief:控件的样式

fill:表示frame在根窗口的填充方式

05 属性取值

# Symbolic constants for Tk

# Booleans

NO=FALSE=OFF=0

YES=TRUE=ON=1

# -anchor and -sticky

N='n'

S='s'

W='w'

E='e'

NW='nw'

SW='sw'

NE='ne'

SE='se'

NS='ns'

EW='ew'

NSEW='nsew'

CENTER='center'

# -fill

NONE='none'

X='x'

Y='y'

BOTH='both'

# -side

LEFT='left'

TOP='top'

RIGHT='right'

BOTTOM='bottom'

# -relief

RAISED='raised'

SUNKEN='sunken'

FLAT='flat'

RIDGE='ridge'

GROOVE='groove'

SOLID = 'solid'

# -orient

HORIZONTAL='horizontal'

VERTICAL='vertical'

# -tabs

NUMERIC='numeric'

# -wrap

CHAR='char'

WORD='word'

# -align

BASELINE='baseline'

# -bordermode

INSIDE='inside'

OUTSIDE='outside'

# Special tags, marks and insert positions

SEL='sel'

SEL_FIRST='sel.first'

SEL_LAST='sel.last'

END='end'

INSERT='insert'

CURRENT='current'

ANCHOR='anchor'

ALL='all' # e.g. Canvas.delete(ALL)

# Text widget and button states

NORMAL='normal'

DISABLED='disabled'

ACTIVE='active'

# Canvas state

HIDDEN='hidden'

# Menu item types

CASCADE='cascade'

CHECKBUTTON='checkbutton'

COMMAND='command'

RADIOBUTTON='radiobutton'

SEPARATOR='separator'

# Selection modes for list boxes

SINGLE='single'

BROWSE='browse'

MULTIPLE='multiple'

EXTENDED='extended'

# Activestyle for list boxes

# NONE='none' is also valid

DOTBOX='dotbox'

UNDERLINE='underline'

# Various canvas styles

PIESLICE='pieslice'

CHORD='chord'

ARC='arc'

FIRST='first'

LAST='last'

BUTT='butt'

PROJECTING='projecting'

ROUND='round'

BEVEL='bevel'

MITER='miter'

# Arguments to xview/yview

MOVETO='moveto'

SCROLL='scroll'

UNITS='units'

PAGES='pages'

本文分享自微信公众号 - 算法channel(alg-channel),作者:alg-flody

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-02-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 机器学习|K-Means算法

    01 — K-Means算法 在数据挖掘中,K-Means算法是一种 cluster analysis 的算法,主要通过不断地取离种子点最近均值的算法。 如下...

    double
  • 聊聊 [ ] 操作符,最后引出一个看似.....

    原生Python中,[] 操作符常见的是与 list 搭配使用,并且 [] 操作符支持的对象只能是:整形,切片,list等可迭代对象是禁止的。例如:

    double
  • 解读最优化算法之模拟退火

    模拟退火算法 ( simulated anneal , SA) 求解最优化问题常用的算法,今天应用 SA 解决一元多次函数最小值的例子解释 SA 算法。

    double
  • .Net语言 APP开发平台——Smobiler学习日志:如何在webview中加载网页

    Amanda.li
  • HTML 基础

    1. 在 HTML 中,用于描述功能的符号称之为 "标记",标记在书写时,必须用尖括号括起来(< >)

    越陌度阡
  • VisualStudio移动开发(C#、VB.NET)Smobiler开发平台——VoiceRecorder控件的使用方式.Net移动开发

          设置控件是否生成成员变量,将该属性设置为“True”,则该控件能被其他方法引用,如图6;

    Amanda.li
  • 奇技淫巧——CSS 实现波浪效果

    因为实现波浪的曲线需要借助贝塞尔曲线。 而使用纯 CSS 的方式,实现贝塞尔曲线,额,暂时是没有很好的方法。 当然,借助其他力量(SVG、CANVAS),是...

    Javanx
  • 分模块的maven项目调试时报Source not found的解决办法

      通常在开发中,我们经常会拆分我们的项目为一个个maven子工程,然后用一个父项目进行集成,并且子项目还会继承自父项目。当我们对这些项目进行debug调试的时...

    阿豪聊干货
  • 用Python在25行以下代码实现人脸识别

    在本文中,我们将看到一种使用Python和开放源码库开始人脸识别的非常简单的方法。

    Python知识大全
  • Retrying_Library_For_Java

    jeremyxu

扫码关注云+社区

领取腾讯云代金券