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)。

窗口属性的设置

与窗口相关的方法

设置窗口标题为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的参数
  1. Event Processing
  • mainloop( )
    让程序继续执行,同时进入等待与处理窗口事件
  • quit( )
    Python Shell窗口结束,但是所建窗口继续执行
  • update( )
    更新窗口画面
  1. Event callbacks
  • bind(event,callback)
    事件绑定
  • unbind(event)
    解除绑定
  1. 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色彩表

相关文章
|
6月前
|
SQL 前端开发 Java
Python GUI编程(Tkinter)
Python GUI编程(Tkinter)
|
前端开发 数据可视化 搜索推荐
【100天精通python】Day37:GUI界面编程_PyQt 从入门到实战(上)_PyQt6基本组件、事件和信号槽、界面设计
【100天精通python】Day37:GUI界面编程_PyQt 从入门到实战(上)_PyQt6基本组件、事件和信号槽、界面设计
489 1
|
7月前
|
开发框架 程序员 开发者
Python GUI编程:从入门到精通3.2 GUI编程:学习使用Tkinter、PyQt或wxPython等库创建图形用户界面。
Python GUI编程:从入门到精通3.2 GUI编程:学习使用Tkinter、PyQt或wxPython等库创建图形用户界面。
125 1
|
7月前
|
Python
Python图形页面:tkinter的基本概念
Python图形页面:tkinter的基本概念
|
编解码 数据可视化 前端开发
【100天精通python】Day35:GUI界面编程_一文掌握Tkinter基本操作
【100天精通python】Day35:GUI界面编程_一文掌握Tkinter基本操作
208 0
【100天精通python】Day35:GUI界面编程_一文掌握Tkinter基本操作
|
API Python
Python中的GUI编程:Tkinter和PyQt入门指南
图形用户界面(GUI)是用户与计算机交互的一种方式,Python提供了多个库用于实现GUI应用程序。其中,Tkinter和PyQt是两个常用的GUI库。本文将介绍如何使用Tkinter和PyQt进行Python中的GUI编程。
|
前端开发 Python
Tkinter的基础使用介绍
Tkinter的基础使用介绍。更多文章请关注个人公众号:python学习杂记
110 0
|
Python 容器
Python Tkinter教程(一)——tkinter编程基本步骤、窗口基本属性及Toplevel控件的使用
Python Tkinter教程(一)——tkinter编程基本步骤、窗口基本属性及Toplevel控件的使用
262 1
|
Python
tkinter GUI编程(学习笔记-2 tkinter的常用组件)
tkinter GUI编程(学习笔记-2 tkinter的常用组件)
|
Python 容器
tkinter GUI编程(学习笔记-1 窗口组件与布局)
tkinter GUI编程(学习笔记-1 窗口组件与布局)
149 0