tkinter简单应用

用tkinter制作一个随机点名器

  • 简介
    • 文件说明
    • 功能快捷键
    • 代码

简介

应朋友所邀,制作一个随机点名器,放上来做一个简单的记录。

文件说明

窗口设置放在settings.py,窗口大小等调整放在这里
read_name.py用来读取文件内的名字,
num.txt内名字分行排列

功能快捷键

启动:回车键快捷启动

代码

settings.py

class Setting:
    width = 600  # 窗口宽度
    height = 460  # 窗口高度
    x = 100  # 窗口坐标
    y = 100
    refresh_rate = 100  # 刷新速度


read_name.py

def read_file():
    list_names = []
    with open('num.txt', 'r') as f:
        list_all = f.readlines()
    for i in list_all:
        list_names.append(i.strip())
    return list_names




dmq.py

import tkinter as tk
from settings import Setting
import read_name
import random

flag_0 = False  # 默认初始状态为 False
flag_1 = False
list_names = read_name.read_file()


def chioce_one():
    global flag_0, flag_1
    flag_0 = True
    name1 = random.choice(list_names)
    var1.set(name1)
    label_name1.update()


def gettime():
    global list_names, flag_0, flag_1
    if flag_0 == False:
        # 获取新的姓名
        name1 = random.choice(list_names)

        var1.set(name1)
        # label_name1.update()
        # 每隔 一定时长 调用一次 gettime()函数来获取新的名字
        window.after(Setting.refresh_rate, gettime)
    # else:
    #     if flag_1 == True:
    #         flag_0 = False


def s_e():
    global flag_0, flag_1
    b_n = var2.get()
    if b_n == '开始':
        if flag_1 == False:
            flag_0 = False
        gettime()
        var2.set('结束')
        # print(flag_0, 'flag_0')
        # print(flag_1, 'flag_1')

    else:
        chioce_one()
        var2.set('开始')


window = tk.Tk()
window.title('随机点名器')
window.geometry('%dx%d+%d+%d' % (Setting.width, Setting.height, Setting.x, Setting.y))
window.resizable(0, 0)

label_title = tk.Label(window,
                       text='随机点名器',  # 使用 textvariable 替换 text, 因为这个可以变化
                       fg='red', font=('黑体', 48))
label_title.place(x=130, y=40)

var1 = tk.StringVar()  # 这时文字变量储存器
label_name1 = tk.Label(window,
                       textvariable=var1,  # 使用 textvariable 替换 text, 因为这个可以变化
                       bg='green', fg='yellow', font=('宋体', 48), width=19, height=3)
label_name1.place(x=0, y=130)

var2 = tk.StringVar()
var2.set('开始')
button_rand = tk.Button(window,
                        textvariable=var2, font=('黑体', 18),  # 显示在按钮上的文字
                        width=15, height=2,
                        command=s_e)  # 点击按钮式执行的命令
button_rand.place(x=200, y=360)  # 按钮位置



window.mainloop()

你可能感兴趣的:(PYTHON,python,pycharm,开发语言)