我是一名入门级 Python 编码员,希望创建一个 Guess Who 风格的游戏。在大学里,我还没有学习如何导入图像并将它们绑定到屏幕上的固定位置(类似于游戏板)。有什么方法可以单击特定图像并发生 onClickEvent,选择该特定字符(图像)。我的大部分编码能力都在 python 中,但我怀疑这是否是做这样一个项目的最佳语言。
问问题
17065 次
2 回答
10
每个 GUI 都有Button
可点击的小部件,并且(大部分)可以显示图像。
但主要是在 GUI 中,您可以将点击事件分配给每个对象,即。Label
与Image
.
IE。特金特
import tkinter as tk
from PIL import Image, ImageTk
# --- functions ---
def on_click(event=None):
# `command=` calls function without argument
# `bind` calls function with one argument
print("image clicked")
# --- main ---
# init
root = tk.Tk()
# load image
image = Image.open("image.png")
photo = ImageTk.PhotoImage(image)
# label with image
l = tk.Label(root, image=photo)
l.pack()
# bind click event to image
l.bind('<Button-1>', on_click)
# button with image binded to the same function
b = tk.Button(root, image=photo, command=on_click)
b.pack()
# button with text closing window
b = tk.Button(root, text="Close", command=root.destroy)
b.pack()
# "start the engine"
root.mainloop()
像这样的图形模块PyGame
也可以显示图像,并具有点击事件,但有时您必须手动检查是否点击了带有图像的区域(并且您必须mainloop
手动创建)
于 2016-11-18T00:36:20.723 回答
1
我会说 TkInter 是你最好的选择。一开始有点麻烦,但对初学者有好处。您应该能够使用它制作一个漂亮的图形用户界面,这将打开一个包含图片、菜单、按钮等的窗口......
在此处查看有用的文档和示例。
如果不需要 Python,我也会推荐 JS、HTML 和 CSS(你必须同时使用这三个。听起来比它更可怕:P)
于 2016-11-17T15:33:59.883 回答