前言

Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口,是Python内的一个基础GUI库,广泛应用于需要简单GUI的应用场景,编程时不支持界面与逻辑分离,因此有着天生的缺陷,不过优势也很明显,Python 使用 Tkinter 可以快速的创建 GUI 应用程序。语法清晰,而且控件信号槽之间分离(具体表现为一个控件代码出错不会中断整个应用程序)。

使用引导

导入包

import tkinter as tk
from tkinter import *

初始化界面

main_window = tk.Tk()

main_window是整个界面的主窗口,名字可以自定义。

设置窗口标题

main_window.title("界面")

title函数用于设置标题,其传参内容为字符串,对中文有良好的支持。

设置窗口创建大小

main_window.geometry("1280x720")

geometry函数用于设置主窗口大小,其传参为自定义尺寸。

添加窗口背景图片

photo = tk.PhotoImage(file="background.png")  # file:t图片路径
imgLabel = tk.Label(main_window, image=photo)  # 把图片整合到标签类中
imgLabel.pack(side=tk.RIGHT)  # 自动对齐

定义photo变量,并把图片进行初始化;创建标签变量,给主窗口添加图片;pack函数用于布局定位,参数有以下三种

句法

widget.pack( pack_options )

这是可能的选项列表-

  • expand-设置为true时,小部件将扩展以填充小部件的父级中未使用的任何空间。

  • fill-确定小部件是否填充了打包程序分配给它的任何额外空间,还是保持其自己的最小尺寸:NONE(默认),X(仅水平填充),Y(仅垂直填充)或BOTH(水平和垂直填充) )。

  • side-确定父窗口小部件的哪一侧相对:TOP(默认),BOTTOM,LEFT或RIGHT。

添加一个Label控件

tk.Label(main_window, text='功能预览', font="楷体 40 bold").place(x=0, y=0, anchor='nw')

句法

widget.Lable(main_winodws,...,...,...)#添加变量用','分隔,共18个参数可调。

转载于:https://www.tutorialspoint.com/python/tk_label.htm

Sr.No. Option & Description
1

anchor(位置)

如果小部件的空间大于文本所需的空间,此选项控制文本的位置。默认值为anchor=CENTER,它使文本在可用空间中居中。

2

bg(背景色)

显示在标签和指示器后面的正常背景色。

3

bitmap(位图)

将此选项设置为位图或图像对象,标签将显示该图形。

4

bd(边框)

指示器周围边框的大小。默认值为2像素。

5

cursor(光标)

如果您将此选项设置为光标名称(箭头、点等),当鼠标光标位于checkbutton上时,它将更改为该模式.

6

font(字体)

文本标签选项指定文本中显示的字体。

7

fg(文本颜色)

如果要在此标签中显示文本或位图,则此选项指定文本的颜色。如果要显示位图,这是位图中1位位置处显示的颜色。

8

height(高度)

设置控件高度。

9

image(图片)

要在标签小部件中显示静态图像,请将此选项设置为图像对象。

10

justify(对齐方式)

指定多行文本如何相互对齐:LEFT表示左对齐,CENTER表示居中(默认),RIGHT表示右对齐。

11

padx(文本左右空间)

在小部件内文本的左右两侧添加了额外的空间。默认值为1。

12

pady(文本上下空间)

在小部件内文本的上方和下方添加额外的空间。默认值为1。

13

relief(边框)

指定标签周围装饰边框的外观。默认值是FLAT。

14

text(文本)

显示指定文本,完美兼容中文。

15

textvariable(文本变量)

要将标签小部件中显示的文本从属于StringVar类的控制变量,请将此选项设置为该变量。

16

underline(下划线)

通过将此选项设置为n,可以在文本的第n个字母下显示下划线(U),从0开始计算。默认值为下划线=-1,表示没有下划线。

17

width(宽度)

设置控件宽度

18

wraplength(字符限制)

通过将此选项设置为所需的字符数,可以限制每行中的字符数。默认值0表示仅在换行处换行。

Button控件

testBtn = tk.Button(main_window, text='开始', width=15, height=2, font=ft2, command=Voice_do).place(x=165,y=440,anchor='n')

句法

w = Button ( master, option=value, ... )

参数

  • master − 这表示父(主)窗口。

  • options − 可填入下面的参数

Sr.No. Option & Description
1

activebackground

当按钮在光标下时的背景色。

2

activeforeground

当按钮位于光标下时的activeforegroundForeground颜色。

3

bd

bdBorder宽度(像素)。默认值为2。

4

bg

背景颜色。

5

command

单击按钮时要调用的方法。

6

fg

前景文本颜色。

7

font

字体样式。

8

height

控件高度.

9

highlightcolor

焦点高亮颜色

10

image

放置于控件的图片

11

justify

说明如何显示多个文本行:每行从左到左对齐;居中到居中;或从右到右对齐。

12

padx

文本的左右附加填充。

13

pady

文本上方和下方的附加填充。

14

relief

指定边框的类型。可选值是SUNKEN, RAISED, GROOVE, and RIDGE。

15

state

状态将此选项设置为DISABLED可使按钮灰显并使其无响应。当鼠标悬停在该值上时,该值处于活动状态。默认值为“正常”。

16

underline

underlineDefault为-1,表示按钮上的文本字符将不带下划线。如果非负数,则相应的文本字符将加下划线。

17

width

控件宽度

18

wraplength

如果此值设置为正数,则文本行将换行以适合此长度。

Label应用实例

举个例子 通过一个按钮和一个文本控件

from tkinter import *
import tkinter as tk
# 主窗口
main_window = tk.Tk()
main_window.title("界面")
main_window.geometry("600x600")
# 添加背景图
photo = tk.PhotoImage(file="background.png")  # file:t图片路径
imgLabel = tk.Label(main_window, image=photo)  # 把图片整合到标签类中
imgLabel.pack(side=tk.RIGHT)  # 自动对齐
#字体样式
ft2 = "微软雅黑 30 bold"#创建点击事件
def test_fun():a = "hellopython"print(a)var.set(a)#显示文本变量信息
#创建一个按钮,文本是“开始”,高度15,宽度2,字体是微软雅黑30号字体,点击事件的函数名为test_fun.
#place为放置位置,x,y为放置坐标,anchor为向上对齐格式。
test_Button = tk.Button(main_window, text='开始', width=15, height=2, font=ft2, command=test_fun).place(x=300,y=300,anchor='n')
#创建一个变量设置关联
var = tk.StringVar()  # 设置关联
#创建一个Label控件用于显示相关信息
#textvariable创建一个字符串变量,bg为设置控件颜色粉色,font为字体,设置宽度高度(像素),place控制放置位置
test_Label= tk.Label(main_window, textvariable=var, bg='pink', font=ft2, width=28, height=2).place(x=65, y=420)

结论

通过tkinter构建的项目,在Windows与Linux上跨平台移植基本能够成功,唯一的问题是在Windows上的多线程机制在Linux无法体现,这个是一个很大的问题,下一章,介绍一下在tkinter上如何建立简单的多线程机制。

如果对你有用,请别忘了给我点赞!

【GUI制作】tkinter-一款跨平台的简易GUI库相关推荐

  1. 实战tkinter图形界面开发_八款常用的 Python GUI 开发框架推荐

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 乔柯 PS:如有需要Python学习资料的小伙伴可以加点击下方链接 ...

  2. 【Python3】分析某音乐页面并使用tkinter构建简易GUI

    Python 分析某音乐页面并使用tkinter构建简易GUI 分析页面 保存 简单GUI的制作 全部代码 本人python初学者,记录自己的一次学习过程,仅供参考.欢迎各位前辈指点. 分析页面 本次 ...

  3. php如何开发调色器,HTML5+Js制作的一款简易调色器

    今天用HTML5结合Javascript制作了一款调色器,主要功能是通过移动滑块可以看到颜色的变化,并且rgb值也会随着变化,另外也可以通过输入rgb值来预览颜色.使用的技术其实很简单,滑动条使用ht ...

  4. Android QPython3 制作简易GUI长文本框界面

    #QPython3H 制作简易GUI长文本框界面 #函数代码部分: import androidhelper as android droid=android.Android() from qsl4a ...

  5. python gui测试框架_八款常用的 Python GUI 开发框架推荐

    作为Python开发者,你迟早都会用到图形用户界面来开发应用.本文将推荐一些 Python GUI 框架,希望对你有所帮助,如果你有其他更好的选择,欢迎在评论区留言. Python 的 UI 开发工具 ...

  6. pythongui库推荐_八款常用的 Python GUI 开发框架推荐

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 乔柯 PS:如有需要Python学习资料的小伙伴可以加点击下方链接 ...

  7. linux 图形界面库,几款开源的图形界面库(GUI Libraries)

    遵循BSD许可协议的C++ GUI库,建立在Windows API之上,但仍可以通过使用WineLib在Linux/xNix上使用.也支持Pocket PC和基于Windows CE的应用程序... ...

  8. pythonguitkinter组件_四十八、Python中的GUI布局tkinter

    「@Author:Runsen」 现在极少有人会用上tkinter了,所以真正研究的人也就更少了,本来不想更新tkinter.看到很多人在学tkinter,其实用Python做布局,没有人这么干.但还 ...

  9. py库: GUI(tkinter)

    py库: GUI(tkinter) 图形用户界面(Graphical User Interface,简称 GUI) http://www.runoob.com/python/python-gui-tk ...

最新文章

  1. 虚指针的用法(原出处//http://blog.csdn.net/haoel/article/details/1948051)
  2. 求解带时间窗车辆路径问题的多目标模因算法
  3. 深入理解计算机系统(2.7)------浮点数舍入以及运算
  4. 八十四、搜索框动画效果实现,React-Redux 进行应用数据的管理
  5. [好东西]使用ngrok把本机的网站端口映射到外网
  6. 【最详细】数据结构(C语言版 第2版)第七章课后习题答案 严蔚敏 等 编著
  7. 20120621第一天_复习与测试
  8. shell编程中if []的用法注意
  9. JTable表格内容导出execl表
  10. python中wx_python中wx模块的具体使用方法
  11. 人工智能资源下载2024G
  12. ASP.NET类计算机专业毕业设计题目选题课题
  13. 跟我一起水疗的哥俩儿,其实挺猛的!
  14. 什么是闰年?闰年为什么是366天?为什么不能是100的倍数?
  15. 51单片机实战教程(四 延时程序)
  16. 互联网新半场的流量生态——阿里云定向免流方案
  17. IntelliJ inspection gives “Cannot resolve symbol“ but still compiles code
  18. 集群通信TIPC协议
  19. windows的注册表有什么用?
  20. Qt之标签和单行文本编辑框(QLabel、QLineEdit)

热门文章

  1. java crumb_vuex中,我在index.vue组件设置的值,为什么在另外一个组件crumb.vue获取不到...
  2. 程序员真的是吃青春饭的吗?有哪些建议可以给刚入职的程序员?(全是干货)...
  3. 不是每个捕鱼都叫捕鱼达人:Cocos精品《捕鱼达人4》华丽升级
  4. 如何在所有流媒体服务中搜索电影或电视节目
  5. 我的世界java爱冰雪女王_我的世界美丽而又高冷 冰雪女王介绍
  6. SSD_OneStage
  7. Windows平台下的读写锁
  8. DEV C++调试的时候出现闪退的解决办法
  9. 视频有水印不用怕,一键轻松解析视频水印,高清画质!
  10. 未收到服务器返回信息吗,inode 未收到服务器回应