47-python之tkinter库学习-基础组件实例

     

目录

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

第二个界面(Frame使用):

组件的三种布局:

参考文章


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

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

第二个界面(Frame使用):

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

#!/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)实现一个简单计算器

Tkinter详解(推荐!!!)

Python GUI编程(Tkinter)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ystraw_ah

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

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

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

打赏作者

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

抵扣说明:

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

余额充值