前言
之前看到过一篇不错的文章,点个赞。
关于输入框,pygame还是比较坑的,没有内置,遂产生想法:tk和pg结合
1.创建窗口
tk嵌入pg请参考这,支持三个平台,不用user32.dll只支持win32
import tkinter as tk
import pygame as pg
import os
root = tk.Tk()
os.environ["SDL_WINDOWID"] = str(root.winfo_id())
screen = pg.display.set_mode((400,300))#pg窗口大小
root.geometry("400x300")#tk窗口大小
2.输入框
直接place可以,但由于pg太"慢",会出现打"abcdefg"出现"abdeg"等情况,遂使用threading,tk不可以在线程中更新,只能在thread中更新pg
import threading
def mainloop():
"pygame mainloop"
while 1:
for e in pg.event.get():
#some handle
pass
pg.display.update()
threading.Thread(target=mainloop,daemon=1).start()
必须守护线程
3.构建Entry
须注意entry的