python3.Tkinter学习之网格图形管理器

译自Modern Tkinter for Busy Python Developers

本章主要是译者的归纳整理,并未全部按原文翻译。
一般地,我们通过使用grid方法来设置widget在容器中的布局。
例如: label.grid()

行和列 column and row

通过设置columnrow来定位widget。
label.grid(column=1,row=1)
默认情况下,column=0,row=0。

合并单元

通过设置columnspanrowspan可以合并多个单元。
label.grid(column=1,row=1,columnspan=2,rowspan=2)
默认情况下,columnspan=1,rowspan=1。

Continue reading “python3.Tkinter学习之网格图形管理器”

python3.Tkinter学习之基本Widgets

译自Modern Tkinter for Busy Python Developers

本章介绍一些几乎可以在任何用户接口中找到的Widgets:frames, labels, buttons, checkbuttons, radiobuttons, entries and comboboxes。

0X01 Frames

Widget综述

一个frame就是一个简单的长方形widget。Frames用来作为其它widgets的容器,这些widgets受控于图形管理器例如gird。

创建:frame = ttk.Frame(parent)

Frames有一些配置选项可以改变其显示方式:

  • 尺寸 ttk.Frame(parent,height=350,width=350)
    • 350 是 350 像素
    • 350c 是 350 厘米
    • 350i 是 350 英寸
    • 350p 是 350 printer’s points(1/72英寸)
  • Padding frame["padding"]=(5,10)
    • (a) 上下左右padding均为a
    • (a,b) 水平方向padding为a,垂直为b
    • (a,b,c,d) 左,上,右,下的padding分别为a,b,c,d
  • 边界 frame["borederwidth"]=2
    • 边界的显示方式配置选项为relief。有flat,raised,sunken,solid,ridge,groove几个可选值。

Continue reading “python3.Tkinter学习之基本Widgets”

python3.Tkinter学习之Tk概念

译自Modern Tkinter for Busy Python Developers

与pyQt,wxPython相比tkinter较为简单,我用来制作小型GUI程序,省去了很多较为深入的知识,只保留了常用部分。

Widgets

Widget 类

Widget是对象,表示Button, frame等类的实例。

窗口的分层结构

另一件需要知道的事是创造的widget实例的父级。Tk中,所有的widgets都是窗口分层结构中的一部分,单个root作为分层结构的顶部。这个结构可以有任意深度,你可以在一个root窗口中建一个frame,frame包含另一个frame,frame又包含一个button。甚至一个新的顶级窗口是同样结构中的一部分,它的内容组成整体窗口分层结构中的子树。

在常见例子中,我有单个frame作为root窗口的孩子,这个frame控制着其他所有孩子。root窗口是frame是容器,及父级。

Alt text

Continue reading “python3.Tkinter学习之Tk概念”

Share and Study

 

English Version: https://today2tmr.com/en/2017/05/25/share-and-study/

这个网站将用于分享我在课内课外学到的知识,涉及包含编程和网络在内的各个信息技术相关领域。

由于大部分的基础知识在互联网上很容易搜索得到,我将会以项目的形式综合运用各个知识点,在实践中提高技术。

最后……为了顺便提高下英文能力,每一篇文章都会采用双语的模式。感谢指正语法错误或不恰当的地方!