在Python中创建子窗口通常需要使用图形用户界面(GUI)库,如Tkinter或PyQt5。以下是使用Tkinter创建子窗口的示例代码:
```python
import tkinter as tk
from PIL import Image, ImageTk
def show1():
top1 = tk.Toplevel() 创建一个Toplevel窗口,即子窗口
image = Image.open('random.jpg') 打开图片文件
img = ImageTk.PhotoImage(image) 将图片转换为PhotoImage对象
canvas1 = tk.Canvas(top1, width=image.width*2, height=image.height*2, bg='white') 创建画布
canvas1.create_image(0,0, image=img, anchor='nw') 在画布上绘制图片
canvas1.create_image(image.width,0, image=img, anchor='nw')
canvas1.pack() 布局画布
top1.mainloop() 启动子窗口的事件循环
创建主窗口
root = tk.Tk()
创建按钮,点击时调用show1函数创建子窗口
button = tk.Button(root, text="Show Subwindow", command=show1)
button.pack()
启动主窗口的事件循环
root.mainloop()
在上面的代码中,我们首先导入了必要的模块,然后定义了一个函数`show1`,该函数创建了一个`Toplevel`窗口,并在其中绘制了一张图片。`Toplevel`窗口是`Tkinter`中的一个特殊窗口,它允许您创建多个独立的窗口,每个窗口都可以有自己的事件循环。
请注意,在创建子窗口时必须使用`Toplevel()`,否则可能会出错。