python的实验期中作业,随便写了下
代码如下:
"""
Created on Sat Dec 8 15:32:29 2020
@author: 散修涵
"""
from tkinter import *
import time
from PIL.ImageTk import PhotoImage
import os,sys
import random
import tkinter.font as tf
tmp = []
class RandName():
def __init__(self):
self.xing='曾赵郭卢黄彭周余林罗万李胡张徐毛'
self.ming='英雄出少年更上一层楼探手摘星辰再无这般人'
self.xuehao='0123456789'
self.randfile()
def randfile(self):
for i in range(30):
X=random.choice(self.xing)
M="".join(random.choice(self.ming) for i in range(2))
H="".join(random.choice(self.xuehao) for i in range(9))
tmp.append(X+M+H)
with open('F:/student.txt', 'w') as file:
for i in range(30):
file.write(str(tmp[i]))
file.write('\n')
class RandPeople:
def __init__(self):
self.root = Tk()
self.root.title("计算机191班学生信息")
self.root.geometry('800x600')
self._running = True
self.timestr = StringVar()
self.creat()
mainloop()
def creat(self):
# 定义标签栏
self.page=Frame(self.root)
self.page.pack(side=TOP)
self.page2=Frame(self.root,bg="red",width=20,height=10)
self.page2.pack()
Button(self.page, text='start', command=self.Start, width=10, height=2).pack(side=RIGHT)
Button(self.page, text='stop', command=self.Stop, width=10, height=2).pack(side=RIGHT)
#self.label=Label(self.page2, bg="yellow",font=('粗体', 20)).pack()
self.text=Text(self.page2,height=5,width=40)
self.text.pack()
imgdir=r'F:/touxiang/p3.jpg'
imgobj=PhotoImage(file=imgdir)
self.canvas=Canvas(self.root,width=800,height=700,bd=1,highlightthickness=0)
image=self.canvas.create_image(0,150,image=imgobj)
self.canvas.pack(side=TOP)
def ImaShow(self):
while self._running:
i=random.randint(1,12)
imgdir=r'F:/touxiang/p{}.jpg'.format(i)
#print(imgdir)
imgobj=PhotoImage(file=imgdir)
image=self.canvas.create_image(400,150,image=imgobj)
self.canvas.pack(side=TOP)
f = open('F:/student.txt')
r = f.readlines()
f.close()
self.text.delete('1.0','end')
ft = tf.Font(family='微软雅黑',size=20) ###有很多参数
self.text.tag_add('tag',END) #申明一个tag,在a位置使用
self.text.tag_config('tag',font =ft )
j=random.randint(0,29)
self.text.insert(END," "+r[j],'tag')
self.root.update()
self.root.after(5)
mainloop()#用来维持画布中的图片不消失
def Start(self):
# 开始
if not self._running:
self._running = True
#print(self._running)
self.ImaShow()
def Stop(self):
# 暂停
if self._running:
self._running = False
self.ImaShow()
self.root.update()
if __name__ == '__main__':
rn = RandName()
rp=RandPeople()
运行效果图: