tkinter frame里创建canvas
时间: 2023-09-11 07:11:27 浏览: 44
可以使用如下代码在Tkinter的Frame中创建一个Canvas:
```python
import tkinter as tk
root = tk.Tk()
frame = tk.Frame(root)
frame.pack()
canvas = tk.Canvas(frame, width=300, height=200)
canvas.pack()
root.mainloop()
```
这个代码会创建一个大小为300x200的Canvas并将其放置在一个名为frame的Tkinter Frame中。
相关问题
tkinter 在frame上创建canvas,并在canvas显示图片
可以通过以下代码实现:
```python
import tkinter as tk
root = tk.Tk()
# 创建一个 frame
frame = tk.Frame(root)
frame.pack()
# 在 frame 上创建一个 canvas
canvas = tk.Canvas(frame, width=400, height=400)
canvas.pack()
# 在 canvas 上显示一张图片
img = tk.PhotoImage(file="image.gif")
canvas.create_image(200, 200, image=img)
root.mainloop()
```
注意,你需要将 `image.gif` 替换成你自己的图片文件名。
tkinter中Scrollbar与canvas
Scrollbar和Canvas是Tkinter中两个常用的控件,Scrollbar用于滚动Canvas中的内容,而Canvas则是一个可绘制的区域,可以在其中添加各种图形元素。
以下是一个简单的例子,演示如何在Canvas中添加图形元素,并使用Scrollbar滚动Canvas中的内容:
```python
import tkinter as tk
# 创建主窗口
root = tk.Tk()
# 创建Canvas和Scrollbar
canvas = tk.Canvas(root, width=200, height=200)
scrollbar = tk.Scrollbar(root, orient="vertical", command=canvas.yview)
canvas.config(yscrollcommand=scrollbar.set)
# 添加图形元素到Canvas中
frame = tk.Frame(canvas)
for i in range(20):
tk.Label(frame, text="Label {}".format(i)).pack()
canvas.create_window((0, 0), window=frame, anchor="nw")
# 将Canvas和Scrollbar添加到主窗口中
canvas.pack(side="left", fill="both", expand=True)
scrollbar.pack(side="right", fill="y")
# 运行主循环
root.mainloop()
```
在这个例子中,我们创建了一个Canvas和一个Scrollbar,并将它们添加到主窗口中。我们还创建了一个Frame,并将20个Label添加到其中,然后将这个Frame作为Canvas的一个子元素添加到Canvas中。最后,我们将Canvas和Scrollbar关联起来,使得Scrollbar可以滚动Canvas中的内容。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![ppt](https://img-home.csdnimg.cn/images/20210720083527.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)