猫史档案馆


【Python作品分享】应.让大脑不转弯-1【作业帖】

用户:准备好的派大星准备好的派大星查看:0 回复:0 评论:0 创建时间:2023-03-25T17:23:06


【作品展示】

center_image

 

【作品介绍】

66岁扶墙编程

 

【作品源代码】

from tkinter import *
from tkinter.ttk import *
from tkinter.font import *
from PIL import Image
import requests
from urllib.parse import urlencode
from bs4 import BeautifulSoup
from content import get_dict
from PIL import Image,ImageDraw,ImageFont
import random

def huanhang(t):
    t2 = ""

    #添加换行
    
    for i in range(len(t)):
        t2 += t[i]
        if i % 40 == 0 and i != 0:
            t2 += "\n"
    return t2

def set_pic():
    color = (0, 0, 0, 255)
    #打开题目图片.gif
    #转换色彩模式为rgba
    daan = Image.open("题目.gif").convert("RGBA")
    xy=(50,200)
    t=ImageDraw.Draw(daan)
    tf=ImageFont.truetype('msyh',size=20)
    t.text(xy, text=ques[t], fill=color, font=tf)
    #打开分享图 
    daan.save("答案.gif")
def get_ques(key):
    url = "https://m.46喵4.com/jzw/search.php?" + \
        urlencode({"keyword": key}, encoding="GBK")
    que=get_dict(url)
    return que
def question():
    global ques
    global t,im2
    key = entry.get()
    ques=get_ques(key)
    #构建窗口    
    f1.destroy()
    t = random.choice(list(ques.keys()))
    t2=huanhang(t)
    add_text(t2)
    f2 = Canvas(root_kaishi, width=1024, height=576)
    f2.pack()
    im2 = PhotoImage(file="题目.gif")
    f2.create_image(0, 0, image=im2, anchor="nw")

def add_text(t):
    beijing=Image.open("bg2.jpg")
    color=(88,26,16)
    xy=(50,130)
    d=ImageDraw.Draw(beijing)
    tf=ImageFont.truetype('msyhbd',size=20)
    d.text(xy,text=t,fill=color,font=tf)
    beijing.save("题目.gif")

root_kaishi = Tk()
root_kaishi.title("开始界面")
root_kaishi.geometry("400x572")
# 设置左上角
root_kaishi.iconbitmap("ico.ico")
# 设置背景图片
im1 = PhotoImage(file="1.gif")
f1 = Canvas(root_kaishi, width=400, height=572)
f1.create_image(0, 0, image=im1, anchor="nw")
f1.pack()
# 在画布上绘制文字
tf = Font(family="微软雅黑", size=20, weight=BOLD)
f1.create_text(
    200, 200,
    text="脑筋急转弯答题器\n关键字:",
    font=tf,
    fill="black"
)
# 在画布上绘制entry组件
entry = Entry(root_kaishi)
f1.create_window(
    200, 210,
    window=entry,
    anchor="nw"
)
btn1 = Button(root_kaishi, text="查看分享图片")
f1.create_window(
    160, 350,
    window=btn1,
    anchor="nw")
btn2 = Button(root_kaishi, text="开始挑战",command=question)
f1.create_window(
    160, 300,
    window=btn2,
    anchor="nw"
)
root_kaishi.mainloop()

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页