目录

第一个界面(包含基础组件使用):

第二个界面(Frame使用):

组件的三种布局:

参考文章


最近需要用tkinter库写要给软件界面,之前一直用的wxpython,那个借助软件可以直接画界面,比较简单。所以这次需要用tkinter来写我就得学习一下了,下面直接贴出的代码以及比较好的一些博客或者其它网站教程。

第一个界面(包含基础组件使用):

python tkinter 提示框 python tkinter frame_Time

第二个界面(Frame使用):

python tkinter 提示框 python tkinter frame_tkinter_02

第一个界面代码(包含基础组件使用):

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2019/12/16 15:21
# @Author  : ystraw
# @Site    : 
# @File    : main.py
# @Software: PyCharm Community Edition
# @function: 计算能力训练系统

import tkinter as tk  # 导入tkinter模块

if __name__ == '__main__':
    # 创建一个窗口
    root = tk.Tk()
    # 设置窗口最小大小
    root.minsize(600, 470)
    root.resizable(0, 0)  # 来禁止调节大小
    # 设置标题
    root.title('计算能力训练系统')

    #  标签学习
    longtext = '标签1'
    # w = tk.Label(root,text=longtext, font=('微软雅黑', 20),  bg='red', bd='9', fg='black', anchor='se')
    # 设置普通值,longtext改变,label值不变
    w = tk.Label(root, text=longtext)
    # 设置位置(x,y为横纵坐标;w,h为组件的宽和高)
    w.place(x=70, y=170, width=80, height=20)

    longtext2 = tk.StringVar()
    longtext2.set('标签2-1')
    # 设置普通值,longtext2改变,label值自动变化
    w2 = tk.Label(root, textvariable=longtext2)
    longtext2.set('标签2-2')
    # 设置位置
    w2.place(x=170, y=170, width=80, height=30)
    # 另外leber, Entry都有after函数,类似计时函数
    def trickit():
        print('w2计时一秒!!!')
    w2.after(1000, trickit) # 1秒后执行trickit函数

    # 单行输入框学习
    e = tk.Entry(root, width=15) # 注意,输入框就是单行文本,它是没有height属性的
    # 设置位置
    e.place(x=270, y=170, width=80, height=30)
    # 实现删除输入框的所有内容
    e.delete(0, "end")
    # 设置默认文本
    e.insert(0, "默认文本hhhhhhh...")
    # e.configure(state='readonly')  # 改为只读

    # 按钮button学习
    # button绑定的监听函数
    def show():
        print("单行文本框的值:%s" % e.get())
        e.delete(0, "end")
    bt = tk.Button(root, text="获取信息", width=10, command=show).grid(row=3, column=0, sticky="w", padx=10, pady=5)

    # 保持窗口
    root.mainloop()

第二个界面代码(Frame使用):

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2019/12/16 15:43
# @Author  : ystraw
# @Site    : 
# @File    : test2.py
# @Software: PyCharm Community Edition
# @function:

import tkinter, sys,time
root= tkinter.Tk()
root.minsize(500, 500)

# Frame	框架控件;在屏幕上显示一个矩形区域,多用来作为容器
frame1 = tkinter.Frame(root, background='red', width=400, height=200)
frame1.pack(padx=5, pady=5)

#  在framel1中加一个标签
longtext = '标签1'
# 设置普通值,longtext改变,label值不变
w = tkinter.Label(frame1, text=longtext)
# 设置位置(x,y为横纵坐标;w,h为组件的宽和高)
w.place(x=0, y=170, width=80, height=20)

frame2 = tkinter.Frame(root, background='green', width=450, height=300)
frame2.pack(padx=5, pady=5)
#  在framel1中加一个标签
longtext2 = '标签2'
# 设置普通值,longtext改变,label值不变
w = tkinter.Label(frame2, text=longtext2)
# 设置位置(x,y为横纵坐标;w,h为组件的宽和高)
w.place(x=10, y=10, width=80, height=20)

root.mainloop()

组件的三种布局:

一个程序中,只能使用一种布局,否则会报错误。

几何方法

描述

pack()

包装;

grid()

网格;

place()

位置;

参考文章:

利用Tkinter(python3.6)实现一个简单计算器

Python GUI编程(Tkinter)