转自:https://www.cnblogs.com/aland-1415/p/6849193.html

1、使用tkinter.Tk() 生成主窗口(root=tkinter.Tk());
root.title('标题名')         修改框体的名字,也可在创建时使用className参数来命名;
root.resizable(0,0)        框体大小可调性,分别表示x,y方向的可变性;
root.geometry('250x150')  指定主框体大小;
root.quit()                退出;
root.update_idletasks()
root.update()             刷新页面;

2、初级样例:

  1. 1 import tkinter
  2. 2 root=tkinter.Tk() #生成root主窗口
  3. 3 label=tkinter.Label(root,text='Hello,GUI') #生成标签
  4. 4 label.pack() #将标签添加到主窗口
  5. 5 button1=tkinter.Button(root,text='Button1') #生成button1
  6. 6 button1.pack(side=tkinter.LEFT) #将button1添加到root主窗口
  7. 7 button2=tkinter.Button(root,text='Button2')
  8. 8 button2.pack(side=tkinter.RIGHT)
  9. 9 root.mainloop() #进入消息循环(必需组件)

3、tkinter中的15种核心组件:

按 Ctrl+C 复制代码
按 Ctrl+C 复制代码

4、组件的放置和排版(pack,grid,place)

  1. pack组件设置位置属性参数:
  2. after:     将组件置于其他组件之后;
  3. before:    将组件置于其他组件之前;
  4. anchor:    组件的对齐方式,顶对齐'n',底对齐's',左'w',右'e'
  5. side:     组件在主窗口的位置,可以为'top','bottom','left','right'(使用时tkinter.TOP,tkinter.E);
  6. fill 填充方式 (Y,垂直,X,水平)
  7. expand 1可扩展,0不可扩展
  8. grid组件使用行列的方法放置组件的位置,参数有:
  9. column: 组件所在的列起始位置;
  10. columnspam: 组件的列宽;
  11. row    组件所在的行起始位置;
  12. rowspam   组件的行宽;
  13. place组件可以直接使用坐标来放置组件,参数有:
  14. anchor:    组件对齐方式;
  15. x:     组件左上角的x坐标;
  16. y:    组件右上角的y坐标;
  17. relx:  组件相对于窗口的x坐标,应为0-1之间的小数;
  18. rely: 组件相对于窗口的y坐标,应为0-1之间的小数;
  19. width: 组件的宽度;
  20. heitht:   组件的高度;
  21. relwidth: 组件相对于窗口的宽度,0-1
  22. relheight:  组件相对于窗口的高度,0-1

5、使用tkinter.Button时控制按钮的参数:

  1. anchor:      指定按钮上文本的位置;
  2. background(bg)   指定按钮的背景色;
  3. bitmap:      指定按钮上显示的位图;
  4. borderwidth(bd)    指定按钮边框的宽度;
  5. command:       指定按钮消息的回调函数;
  6. cursor:     指定鼠标移动到按钮上的指针样式;
  7. font:    指定按钮上文本的字体;
  8. foreground(fg)     指定按钮的前景色;
  9. height:     指定按钮的高度;
  10. image:      指定按钮上显示的图片;
  11. state:     指定按钮的状态(disabled);
  12. text:     指定按钮上显示的文本;
  13. width:      指定按钮的宽度
  14. padx      设置文本与按钮边框x的距离,还有pady;
  15. activeforeground    按下时前景色
  16. textvariable    可变文本,与StringVar等配合着用

6、文本框tkinter.Entry,tkinter.Text控制参数:

  1. background(bg)    文本框背景色;
  2. foreground(fg) 前景色;
  3. selectbackground   选定文本背景色;
  4. selectforeground   选定文本前景色;
  5. borderwidth(bd)   文本框边框宽度;
  6. font  字体;
  7. show    文本框显示的字符,若为*,表示文本框为密码框;
  8. state    状态;
  9. width      文本框宽度
  10. textvariable    可变文本,与StringVar等配合着用

7、标签tkinter.Label组件控制参数:

  1. Anchor     标签中文本的位置;
  2. background(bg)    背景色;
  3. foreground(fg)   前景色;
  4. borderwidth(bd)   边框宽度;
  5. width      标签宽度;
  6. height     标签高度;
  7. bitmap     标签中的位图;
  8. font    字体;
  9. image      标签中的图片;
  10. justify     多行文本的对齐方式;
  11. text        标签中的文本,可以使用'\n'表示换行
  12. textvariable     显示文本自动更新,与StringVar等配合着用

8、单选框和复选框Radiobutton,Checkbutton控制参数:

  1. anchor   文本位置;
  2. background(bg)   背景色;
  3. foreground(fg) 前景色;
  4. borderwidth 边框宽度;
  5. width    组件的宽度;
  6. height    组件高度;
  7. bitmap    组件中的位图;
  8. image    组件中的图片;
  9. font    字体;
  10. justify    组件中多行文本的对齐方式;
  11. text    指定组件的文本;
  12. value    指定组件被选中中关联变量的值;
  13. variable   指定组件所关联的变量;
  14. indicatoron 特殊控制参数,当为0时,组件会被绘制成按钮形式;
  15. textvariable 可变文本显示,与StringVar等配合着用

9、组图组件Canvas控制参数

  1. background(bg)    背景色;
  2. foreground(fg) 前景色;
  3. borderwidth     组件边框宽度;
  4. width      组件宽度;
  5. height    高度;
  6. bitmap    位图;
  7. image      图片;
  8. 绘图的方法主要以下几种:
  9. create_arc 圆弧;
  10. create_bitmap    绘制位图,支持XBM;
  11. create_image    绘制图片,支持GIF(x,y,image,anchor);
  12. create_line 绘制支线;
  13. create_oval; 绘制椭圆;
  14. create_polygon   绘制多边形(坐标依次罗列,不用加括号,还有参数,fill,outline);
  15. create_rectangle   绘制矩形((a,b,c,d),值为左上角和右下角的坐标);
  16. create_text 绘制文字(字体参数font,);
  17. create_window   绘制窗口;
  18. delete   删除绘制的图形;
  19. itemconfig 修改图形属性,第一个参数为图形的ID,后边为想修改的参数;
  20. move    移动图像(140),1为图像对象,4为横移4像素,0为纵移像素,然后用root.update()刷新即可看到图像的移动,为了使多次移动变得可视,最好加上time.sleep()函数;
  21. 只要用create_方法画了一个图形,就会自动返回一个ID,创建一个图形时将它赋值给一个变量,需要ID时就可以使用这个变量名。
  22. coords(ID) 返回对象的位置的两个坐标(4个数字元组);
  23.  
  24. 对于按钮组件、菜单组件等可以在创建组件时通过command参数指定其事件处理函数。方法为bind;或者用bind_class方法进行类绑定,bind_all方法将所有组件事件绑定到事件响应函数上。

10、菜单Menu

  1. 参数:
  2. tearoff   分窗,0为在原窗,1为点击分为两个窗口
  3. bg,fg    背景,前景
  4. borderwidth   边框宽度
  5. font 字体
  6. activebackgound 点击时背景,同样有activeforegroundactiveborderwidthdisabledforeground
  7. cursor
  8. postcommand
  9. selectcolor   选中时背景
  10. takefocus
  11. title
  12. type
  13. relief
  14.  
  15. 方法:
  16. menu.add_cascade 添加子选项
  17. menu.add_command 添加命令(label参数为显示内容)
  18. menu.add_separator 添加分隔线
  19. menu.add_checkbutton 添加确认按钮
  20. delete 删除

11、事件关联

  1. bind(sequence,func,add)——
  2. bind_class(className,sequence,func,add)
  3. bind_all(sequence,func,add)
  4. 事件参数:  
  5. sequence         所绑定的事件;
  6. func        所绑定的事件处理函数;
  7. add        可选参数,为空字符或‘+’;
  8. className          所绑定的类;
  9.  
  10. 鼠标键盘事件
  11. <Button-1>    鼠标左键按下,2表示中键,3表示右键;
  12. <ButtonPress-1>   同上;
  13. <ButtonRelease-1>    鼠标左键释放;
  14. <B1-Motion>    按住鼠标左键移动;
  15. <Double-Button-1>    双击左键;
  16. <Enter>    鼠标指针进入某一组件区域;
  17. <Leave>    鼠标指针离开某一组件区域;
  18. <MouseWheel>      滚动滚轮;
  19. <KeyPress-A>       按下A键,A可用其他键替代;
  20. <Alt-KeyPress-A>    同时按下altAalt可用ctrlshift替代;
  21. <Double-KeyPress-A>   快速按两下A
  22. <Lock-KeyPress-A>    大写状态下按A
  23.  
  24. 窗口事件
  25. Activate      当组件由不可用转为可用时触发;
  26. Configure      当组件大小改变时触发;
  27. Deactivate       当组件由可用转变为不可用时触发;
  28. Destroy      当组件被销毁时触发;
  29. Expose      当组件从被遮挡状态中暴露出来时触发;
  30. Unmap       当组件由显示状态变为隐藏状态时触发;
  31. Map      当组件由隐藏状态变为显示状态时触发;
  32. FocusIn       当组件获得焦点时触发;
  33. FocusOut       当组件失去焦点时触发;
  34. Property      当窗体的属性被删除或改变时触发;
  35. Visibility     当组件变为可视状态时触发;
  36.  
  37. 响应事件
  38. event对象(def function(event)):
  39. char        按键字符,仅对键盘事件有效;
  40. keycode         按键名,仅对键盘事件有效;
  41. keysym         按键编码,仅对键盘事件有效;
  42. num       鼠标按键,仅对鼠标事件有效;
  43. type      所触发的事件类型;
  44. widget      引起事件的组件;
  45. width,heigh       组件改变后的大小,仅Configure有效;
  46. x,y         鼠标当前位置,相对于窗口;
  47. x_root,y_root       鼠标当前位置,相对于整个屏幕

12、弹窗

  1. messagebox._show函数的控制参数:
  2. default 指定消息框按钮;
  3. icon 指定消息框图标;
  4. message    指定消息框所显示的消息;
  5. parent 指定消息框的父组件;
  6. title 标题;
  7. type 类型;
  8.  
  9. simpledialog模块参数:
  10. title 指定对话框的标题;
  11. prompt  显示的文字;
  12. initialvalue 指定输入框的初始值;
  13.  
  14.   filedialog    模块参数:
  15. filetype    指定文件类型;
  16. initialdir    指定默认目录;
  17. initialfile    指定默认文件;
  18. title     指定对话框标题
  19.  
  20. colorchooser模块参数:
  21. initialcolor   指定初始化颜色;
  22. title  指定对话框标题;

13、字体(font)
一般格式:
('Times -10 bold')
('Times',10,'bold','italic')    依次表示字体、字号、加粗、倾斜

补充:
config            重新配置
label.config(font='Arial -%d bold' % scale.get())
依次为字体,大小(大小可为字号大小),加粗
tkinter.StringVar    能自动刷新的字符串变量,可用set和get方法进行传值和取值,类似的还有IntVar,DoubleVar...

附1:tkinter中的颜色

Python tkinter模块和参数的更多相关文章

  1. Python tkinter模块弹出窗口及传值回到主窗口操作详解

    这篇文章主要介绍了Python tkinter模块弹出窗口及传值回到主窗口操作,结合实例形式分析了Python使用tkinter模块实现的弹出窗口及参数传递相关操作技巧,需要的朋友可以参考下 本文实例 ...

  2. tkinter模块常用参数

    tkinter模块常用参数   1.使用tkinter.Tk() 生成主窗口(root=tkinter.Tk()):root.title('标题名')    修改框体的名字,也可在创建时使用class ...

  3. Python Tkinter模块 Grid(grid)布局管理器参数详解

    在使用Tkinter模块编写图像界面时,经常用到pack()和grid()进行布局管理,pack()参数较少,使用方便,是最简单的布局,但是当控件数量较多时,可能需要使用grid()进行布局(不要在同 ...

  4. tkinter模块常用参数python

    1.使用tkinter.Tk()生成主窗口(root = tkinter.Tk()) root.title("标题名")       修改窗体的名字,也可以在创建的时候使用clas ...

  5. Python::OS 模块 -- 进程参数

    os模块的简介请参看 Python::OS 模块 -- 简介 os模块的文件和目录操作 Python::OS 模块 -- 文件和目录操作 os模块的进程管理 Python::OS 模块 -- 进程管理 ...

  6. tkinter模块常用参数(python3)

    1.使用tkinter.Tk() 生成主窗口(root=tkinter.Tk()):root.title('标题名')    修改框体的名字,也可在创建时使用className参数来命名:root.r ...

  7. python - Tkinter 模块 - python 自带的gui模块

    Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口,位Python的内置模块,直接import tkinter即可使用. 1.创建窗口 from Tk ...

  8. python tkinter模块 创建窗口V1.2

    先上图 代码如下 #-*-coding:utf-8-*- import os from tkinter import * root=Tk() root.title('执行窗口') "&quo ...

  9. python tkinter模块小工具界面

    代码 #-*-coding:utf-8-*- import os from tkinter import * root=Tk() root.title('小工具') #清空文本框内容 def clea ...

随机推荐

  1. 智能合约 helloworld

    windows 平台 所以直接使用Remix在线编译环境 新建hello.sol文件 编辑如下 Remix 右边侧栏 setting 选择合适的编译器版本 这里选择 0.4.19 文件中输入如下内容  ...

  2. Selenium的使用

    https://blog.csdn.net/qq_21445981/article/details/78386699 https://blog.csdn.net/duzilonglove/articl ...

  3. dropna(thresh=n) 的用法

    thresh=n,保留至少有 n 个非 NA 数的行

  4. java笔记 -- java运算

    运算符: 算术运算符: 加减乘除求余 + , - , * , / , % 当参与/运算的两个操作数都是整数时, 表示整数除法, 否则表示浮点除法. 例: 15 / 2 = 7; 15 % 2 = 1; ...

  5. Vue实现购物车小球动画

    思路: 1.因页面分组件分的比较细,由图可知是组件5到组件4的联动. 如果利用组件间通信需要 子组件5 -->组件3-->所有组件的父组件-->组件4, 层级略显复杂,所以使用了vu ...

  6. ST MCU_GPIO的八种工作模式详解。

    补充: N.P型的区别,就是一个为正电压启动(NMOS),一个为负电压启动(PMOS) GPIO的八种工作模式详解 浮空输入_IN_FLOATING带上拉输入_IPU带下拉输入_IPD模拟输入_AIN ...

  7. C# 关键字base用法

    1.调用基类的方法 public class A { public virtual void Hello() { Console.WiriteLine("Hello"); } } ...

  8. laravel command调用方法命令

  9. ABBYY Cup 3.0G3. Good Substrings

    题意:定义一个串合法,在n个串中出现次数在li到ri中.问s的所有本质的子串有是多少合法的 题解:把所有串用分隔符分开建sam,记录一个该节点对应每个串的出现次数,topo排序后,当该节点s出现次数不 ...

  10. SAP WDA 自建Portal

    1.新建Package:ZWDA. 2.新建Portal用户表:ZPORTAL_USER 上图中是基于CRM的BP来做的用户表,如果针对其他系统可以使用组织架构里的角色用户... 3.新建用户视图配置 ...