[Python GUI]Python内置图形界面tkinter--入门1

前言

本文仅是个人对tkinter学习过程的一些记录,可能有误解之处,烦请指教。如果觉得有可看之处,请多鼓励,后续会持续完善。


一、tkinter是什么?

tkinter软件包是Tk GUI工具包的标准Python接口。 Tk和tkinter在大多数Unix平台以及Windows系统上都可用。

二、使用步骤

1. 安装

tkinter作为python的标准GUI接口,在安装python的时候就已经默认安装,除非你自己手动取消安装。
可以通过命令行输入python -m tkinter打开一个简单的Tk窗口。如果可以通过命令行正常打开这个Tk窗口,表明你已经安装了该包;否则你需要自己安装该包。
参考:在windows上安装tkinter

在Linux可以通过以下方式安装:

#python2
sudo apt-get install python-tk
#python3
sudo apt-get install python3-tk

本文涉及代码全部在python3 下运行

2.引入库

代码如下(示例):

import tkinter as tk

3.简单示例

本文以开发一个登陆界面为目的,学习所需的各个元素。
那么先思考一下,一个登陆界面需要哪些元素呢?

  1. 一个主界面;
  2. 窗口名;
  3. 设置窗口宽高
  4. 账号密码文字提示;
  5. 账号密码输入框;
  6. 登陆按钮;
  7. 提示对话框

OK,先搞定这5个小部分,一个简单的GUI登陆界面就出来了
登陆界面UI
哇,这UI,设计的也太完美了吧。
100婚

代码如下(示例):

import tkinter as tk

# 1. 一个主界面;
main_win = tk.Tk()
# 2. 窗口名;
main_win.title("登陆界面")
# 3. 设置窗口宽高
main_win.geometry('400x300')
# 窗口持续显示
main_win.mainloop()

登陆界面
咦?怎么是一片空白?
对话框出来了,不过里面现在还是空空如也,接下来就要慢慢添加各个元素了。

import tkinter as tk
from tkinter import messagebox
# 1. 一个主界面;
main_win = tk.Tk()
# 2. 窗口名;
main_win.title("登陆界面")
# 3. 设置窗口宽高
main_win.geometry('400x300')
# 4. 账号密码文字;
accoun_label = tk.Label(main_win, text="账号:", font=('Arial', 12)).pack()
pwd_label = tk.Label(main_win, text="密码:", font=('Arial', 12)).pack()
# 5. 账号密码输入框;
accoun_var = tk.StringVar()
pwd_var = tk.StringVar()
accoun_entry = tk.Entry(main_win, textvariable=accoun_var, show=None, font=('Arial', 14)).pack()
pwd_entry = tk.Entry(main_win, textvariable=pwd_var, show='*', font=('Arial', 14)).pack()
# 6. 登陆按钮;
login_btn = tk.Button(main_win, text='登 陆').pack()
# 7. 提示对话框
messagebox.showinfo(title='提示框', message='登陆成功!')
# 窗口持续显示
main_win.mainloop()

登录界面
嗯!总算是有毛有脚了,接下来就是布局了。

import tkinter as tk
from tkinter import messagebox

def show_info_box():
    # 7. 提示对话框
    return messagebox.showinfo(title='提示框', message='登陆成功!')

# 1. 一个主界面;
main_win = tk.Tk()
# 2. 窗口名;
main_win.title("登陆界面")
# 3. 设置窗口宽高
main_win.geometry('400x300')
# 4. 账号密码文字;
accoun_label = tk.Label(main_win, text="账号:", font=('Arial', 12)).place(x=70, y=80)
pwd_label = tk.Label(main_win, text="密码:", font=('Arial', 12)).place(x=70, y=120)
# 5. 账号密码输入框;
accoun_var = tk.StringVar()
pwd_var = tk.StringVar()
accoun_entry = tk.Entry(main_win, textvariable=accoun_var, show=None, font=('Arial', 14)).place(x=120, y=80)
pwd_entry = tk.Entry(main_win, textvariable=pwd_var, show='*', font=('Arial', 14)).place(x=120, y=120)
# 6. 登陆按钮;
login_btn = tk.Button(main_win, text='登 陆',width=20, command=show_info_box).place(x=120, y=200)
# 窗口持续显示
main_win.mainloop()

在这里插入图片描述
完美复现,毫无瑕疵
开个玩笑。这个界面不仅简单还没有任何实际功能,还需要后续不断学习不断完善。


总结

  1. 主窗口及其标题和宽高 tkinter.Tk()mainloop()持续显示
  2. 文本显示 Label
  3. 组件可视化需要使用 .pack(),或者 .place() 设置固定位置
  4. 输入框 Entry,及其回显: show 参数(属性)
  5. 按钮 Button,绑定触发函数使用: command
  6. 对话框 messagebox.showinfo,需先 from tkinter import messagebox
    对话框如果不是 from tkinter import messagebox ,而是使用 tk.messagebox.showinfo(title='提示框', message='登陆成功!'),则会报错。
    报错信息:AttributeError: module 'tkinter' has no attribute 'messagebox'

以上就是今天所学的内容,本文仅仅简单介绍了tkinter的使用,多使用tkinter以找到一种灵活的使用方式,tkinter的其他功能还需要继续探索。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ayiya_Oese

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

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

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

打赏作者

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

抵扣说明:

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

余额充值