tkinter基本概念

tkinter基本概念

GUI: Graphical User Interface 图形用户接口

from tkinter import *

列出tkinter版本

import tkinter
print(tkinter.TkVersion)
建立窗口

通常将使用Tk( )方法建立的窗口称为根窗口,之后可以在此根窗口中建立许多控件,也可以在此根窗口中建立上层窗口。

建立空白窗口,窗口默认名称是tk

from tkinter import *
root = Tk()
root.mainloop()

窗口大小是默认大小,当窗口出现后,可以拖曳移动窗口或更改窗口大小

在GUI程序设计中,有时候也将上述所建立的窗口(window)称为容器(container)。

窗口属性的设置

与窗口相关的方法

image-20220506163915496

设置窗口标题为MyWindow,同时设置宽是300,高是160

from tkinter import *
root = Tk()
root.title("MyWindow")
root.geometry("300x160")
root.configure(bg="yellow")
root.mainloop()

除了可以使用名称直接设置色彩,还可以使用十六进制方式设置色彩RGB,其中每个色彩用两个十六进制数字表示。

使用mystar.ico更改系统默认的图标,同时使用另一种更改背景颜色的方法。

from tkinter import *
root = Tk()
root.configure(bg="#00ff00")
root.iconbitmap("mystar.ico")
root.mainloop()
窗口位置的设置

geometry( )方法除了可以设置窗口的大小,也可以设置窗口的位置,此时它的语法格式如下。

geometry(widthxheight+x+y)
  • widthxheight说明窗口的宽和高,width与height用x分隔

  • “+x”表示x是窗口左边距离屏幕左边的距离

    如果是“-x”,则表示x是窗口右边距离屏幕右边的距离

  • “+y”表示y是窗口上边距离屏幕上边的距离

    如果是“-y”则表示y是窗口下边距离屏幕下边的距离

获得屏幕的宽度和高度

屏幕 不是 窗口

root.winfo_screenwidth()
root.winfo_screenheight()
设计窗口时将此窗口放在屏幕中央
from tkinter import *
root = Tk()
screenWidth = root.winfo_screenwidth()
screenHeight = root.winfo_screenheight()
w = 300
h = 160
x = (screenWidth -w)/2
y = (screenHeight-h)/2
root.geometry("%dx%d+%d+%d"%(w,h,x,y))
root.mainloop()
tkinter的Widget

Widget可以翻译为控件或组件或部件。

窗口建立完成后,下一步是在窗口内建立控件,将这些控件统称为Widget。

  • Button(按钮)
  • Canvas(画布)
  • Checkbutton(多选按钮)
  • Entry(文本框)
  • Frame(框架)
  • Label(标签)
  • LabelFrame(标签框架)
  • Listbox(列表框)
  • Menu(菜单)
  • MenuButton(菜单按钮)
  • Message(消息)
  • OptionMenu(下拉式菜单)
  • PanedWindow(面板)
  • Radiobutton(单选按钮)
  • Scale(尺度)
  • Scrollbar(滚动条)
  • Spinbox(可微调输入控件)
  • Text(文字区域)
  • Toplevel(上层窗口)
Widget的共同属性
  • Dimensions:大小
  • Colors:颜色
  • Fonts:字形
  • Anchor:锚(位置参考点)
  • Relief styles:属性边框
  • Bitmaps:显示位图
  • Cursors:鼠标外形
Widget的共同方法
  1. Configuration

    • config(option=value)

      Widget属性可以在建立时设置,也可以在程序执行时使用config( )重新设置

    • cget(“option”)

      取得option参数值

    • keys( )

      可以用此方法获得所有该Widget的参数

  2. Event Processing

    • mainloop( )

      让程序继续执行,同时进入等待与处理窗口事件

    • quit( )

      Python Shell窗口结束,但是所建窗口继续执行

    • update( )

      更新窗口画面

  3. Event callbacks

    • bind(event,callback)

      事件绑定

    • unbind(event)

      解除绑定

  4. Alarm handlers

    • after(time,callback)

      间隔指定时间后调用callback( )方法

加强版的tkinter模块

tkinter在后来也推出了加强版的模块,称为tkinter.ttk,有时简称ttk

ttk模块新增的Widget

  • Combobox
  • Notebook
  • Progressbar
  • Separator
  • Sizegrip 可以拖曳最上层窗口右下方更改最上层窗口的大小。
  • Treeview
导入模块
from tkinter import ttk

如果使用下列方式导入ttk,可以覆盖原先tkinter的控件:

from tkinter import *
from tkiner.ttk import *

使用ttk可以有更好的外观,而且也可以跨平台使用,不过并没有100%兼容

例如,fg、bg参数或一些外观相关的参数tk和ttk是不相同。

ttk使用的是ttk.Style类别。

RGB色彩表

image-20220506181224525

image-20220506181325252

image-20220506181334799

image-20220506181344879

image-20220506181650887

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暴风雨中的白杨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值