tkinter 实现台湾类股抽签程序

# -*- coding: utf-8 -*-
import tkinter as tk
import threading
from time import sleep
from random import randint
from tkinter import messagebox
window = tk.Tk()
window.minsize(1000,625)
name_list = ['水泥 \n 1109 \n 信大',#1
             '食品 \n 1702 \n 南侨',#2
             '塑胶 \n 1312 \n 国乔',#3
             '纺织 \n 1413 \n 宏洲',#4
             '电机 \n 1503 \n 士电',#5
             '电器电缆 \n 1617 \n 荣星',#6
             '化学 \n 4764 \n 双键',#7
             '生技医疗 \n 4108 \n 怀特',#8
             'etf \n 0050 \n 元大台湾',#9
             '造纸 \n 1903 \n 士纸',#10
             '钢铁 \n 9958 \n 世纪钢',#11
             '橡胶 \n 6582 \n 申丰',#12
             '汽车 \n 1568 \n 仓佑',#13
             '半导体 \n 2338 \n 光罩',#14
             '电脑周边 \n 3494 \n 诚研',#15
             '光电 \n 6706 \n 惠特',#16
             '通信网路 \n 6285 \n 启碁',#17
             '电子零组件 \n 1582 \n 信锦',#18
             '电子通路 \n 3010 \n 华立',#19
             '资讯服务 \n 6183 \n 关茂',#20
             '其他电子 \n 6409 \n 旭隼',#21
             '营建 \n 5533 \n 皇鼎',#22
             '航运 \n 2607 \n 荣运',#23
             '观光 \n 2702 \n 华园',#24
             '金融 \n 2820 \n 华票',#25
             '贸易百货 \n 2910 \n 统领',#26
             '油电燃气 \n 2616 \n 山隆',#27
             '存托凭证 \n 9188 \n 精熙',#28
             '受益证券 \n 01010T \n 京城乐富',#29
             '其他 \n 6655 \n 科定'#30
             ]
btn_list = []
# 用 for loop 遍历类股
for i in range(len(name_list)):
    button = tk.Button(window,text=name_list[i],font=('微软正黑体', 12),bg='#0052cc',fg='#ffffff')
    btn_list.append(button)
    y, x = divmod(i, 6)
    button.place(x=100+x*100, y=100+y*100, width=80, height=80)
def round():
    # 点击开始按钮後,判断按钮显示的开始文本,然後换成相反的暂停
    if btn_start['text'] == 'random choose':
        btn_start['text'] = 'stop'
    else:
        btn_start['text'] = 'random choose'
        return
    i = randint(0, (len(btn_list))-1)
    while True:
        for x in btn_list:
            x['bg'] = '#0052cc'
        btn_list[i]['bg'] = '#F11523'
        if btn_start['text'] == 'random choose':
            window.option_add('*Dialog.msg.font', 'Helvetica 16')
            tk.messagebox.showinfo(message='{}'.format(btn_list[i]['text']))
            '''
            没有 break 语法就会一直抽签,停也停不下来!
            '''
            break
        i = randint(0, (len(btn_list))-1)
        sleep(0.03)
def newtask():
    t = threading.Thread(target=round)
    t.start()
btn_start = tk.Button(window, text='random choose', command=newtask)
btn_start.place(width=200, height=80)
window.mainloop()

<<:  tkinter 实现选择路径(有解决中文路径、中文档名问题)打开显示照片,可选择 cv2.COLOR_ 模式并用 for loop 计算照片直方图 histogram

>>:  使用WSL2在Windows下快速打造Linux开发环境(含Docker)

Day 15 - 中场休息(旅程前半段回顾与重点汇整)

不知不觉参赛已经到一半的旅程,而从前面的文章可以看到使用到了各式各样的技术和工具,今天主要会重点整理...

MySQL 数字类型资料之基本操作

所谓数字类型大致分为以下几种: 每种类型都有不同的范围及其最大最小值。 可以针对不同整数类型插入值,...

Day_18 NetData

NetData是一个开源的监测系统资源的套件。有非常酷的介面展示目前系统运行的状态(包含cpu/ra...

[想试试看JavaScript ] for回圈

回圈 for 回圈 for 回圈,很适合用来处理数值会依照次数,有「递增」或「递减」的变化 范例如下...

UVA练习

uva 10252 一星题 题目大意大概就是,给定两个由小写字母组成的字串a和b,印出最长的小写字串...