1

我是一名入门级 Python 编码员,希望创建一个 Guess Who 风格的游戏。在大学里,我还没有学习如何导入图像并将它们绑定到屏幕上的固定位置(类似于游戏板)。有什么方法可以单击特定图像并发生 onClickEvent,选择该特定字符(图像)。我的大部分编码能力都在 python 中,但我怀疑这是否是做这样一个项目的最佳语言。

4

2 回答 2

10

每个 GUI 都有Button可点击的小部件,并且(大部分)可以显示图像。

但主要是在 GUI 中,您可以将点击事件分配给每个对象,即。LabelImage.

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 回答