【问题标题】:CREATING A DOUBLE SCROLLBAR WINDOW IN TKINTER [closed]在 TKINTER 中创建一个双滚动条窗口 [关闭]
【发布时间】:2021-06-12 22:05:22
【问题描述】:

使用 Tkinter 为画布窗口创建滚动条确实很难实现。我以某种方式设法创建了一个垂直滚动条,但现在我不知道如何创建一个水平滚动条。如果可能,请分享为画布窗口创建双框架的示例代码。

【问题讨论】:

标签: python tkinter


【解决方案1】:

通常情况下,我不会回答没有研究或实验迹象的问题,但很明显,您正在苦苦挣扎。下面是一个 1000x1000 画布在 500x500 窗口中的示例,其中带有一些随机矩形来说明滚动是有效的。

import tkinter as tk
import random

root = tk.Tk()
canvas = tk.Canvas(root, width=500, height=500, scrollregion=(0,0,999,999), bg="black")
vsb = tk.Scrollbar(root, orient="vertical", command=canvas.yview)
hsb = tk.Scrollbar(root, orient="horizontal", command=canvas.xview)
canvas.configure(yscrollcommand=vsb.set, xscrollcommand=hsb.set)

root.grid_rowconfigure(0, weight=1)
root.grid_columnconfigure(0, weight=1)

vsb.grid(row=0, column=1, sticky="ns")
hsb.grid(row=1, column=0, sticky="ew")
canvas.grid(row=0, column=0, sticky="nsew")

for i in range(100):
    color = random.choice(("red", "orange", "yellow", "green", "blue", "violet"))
    width = random.randint(20, 100)
    height = random.randint(20, 100)
    x0 = random.randint(10, 990-width)
    y0 = random.randint(10, 990-height)
    canvas.create_rectangle(x0, y0, x0+width, y0+height, outline='white', fill=color)

root.mainloop()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-16
    • 2022-09-28
    • 1970-01-01
    • 2013-06-11
    • 2021-11-13
    • 2021-10-02
    • 2018-05-18
    相关资源
    最近更新 更多