用python写一个界面,实现一个输入按钮1,正方形,按钮1中间是加号,按下这个按钮1后隐藏按钮1,然后显示一张图片在原本按钮的位置。再加入一个按钮2,按下使得按钮1重新显示,图片隐藏。
时间: 2024-03-26 12:39:02 浏览: 17
好的,我可以帮你实现这个界面。我们需要使用 Python 的 GUI 库 tkinter 来创建窗口和按钮,并使用 PIL 库来处理图片。以下是代码实现:
```python
import tkinter as tk
from PIL import Image, ImageTk
# 创建窗口
window = tk.Tk()
window.geometry('300x300')
# 加载图片
img = Image.open('image.jpg')
img = img.resize((200, 200))
img = ImageTk.PhotoImage(img)
# 创建按钮1
btn1 = tk.Button(window, text='+', font=('Arial', 20), command=lambda: hide_btn1())
btn1.place(x=100, y=100)
# 创建按钮2
btn2 = tk.Button(window, text='显示按钮1', font=('Arial', 12), command=lambda: show_btn1())
btn2.place(x=110, y=150)
btn2.config(state=tk.DISABLED) # 初始状态下禁用按钮2
# 隐藏按钮1,显示图片
def hide_btn1():
btn1.place_forget()
label = tk.Label(window, image=img)
label.image = img # 防止垃圾回收机制将图片回收
label.place(x=50, y=50)
btn2.config(state=tk.NORMAL) # 启用按钮2
# 显示按钮1,隐藏图片
def show_btn1():
label.place_forget()
btn1.place(x=100, y=100)
btn2.config(state=tk.DISABLED) # 禁用按钮2
# 运行窗口
window.mainloop()
```
在这个例子中,我们首先创建了一个大小为 300x300 的窗口,然后使用 PIL 库加载了一张图片。接着,我们创建了一个按钮1,并将其放置在窗口的 (100, 100) 位置。当用户点击按钮1时,我们隐藏了按钮1,并在原来按钮1的位置上显示了一张图片,并启用了按钮2。当用户点击按钮2时,我们隐藏了图片,并重新显示了按钮1,并禁用了按钮2。你可以将 `image.jpg` 替换为你自己的图片路径来测试代码。