以下代码用于创建带有tkinter的Text()函数的表。我想在这个窗口中添加一个滚动条,但我想当我将滚动条添加到Text()时,此方法不能用于滚动窗口,而是用于在Text()内滚动。
我没有为此示例添加几何图形。当前几何体取决于行数和列数。但是假设要求一个固定的几何尺寸,当我们写入行和列数量时,我们应该看到这个滚动条的其他行和列。
from tkinter import *
class Application:
def __init__(self):
self.window = Tk()
self.window.title("Database")
self.window.resizable(width=False, height=False)
self.frame_1 = Frame(bg="black")
self.frame_1.grid(row=0, column=0)
self.menubar = Menu(tearoff=0)
self.table()
self.menu()
self.mainloop = self.window.mainloop()
def table(self):
row = int(input("Row:"))
column = int(input("Column:"))
for i in range(row):
for j in range(column):
text = Text(self.frame_1, width=20, height=1)
text.bind("<Button-3>", self.popup)
text.grid(row=i, column=j, padx=1, pady=1)
text.configure(state="disabled")
def menu(self):
self.menubar.add_command(label="Copy", command=lambda: self.window.focus_get().event_generate('<<Copy>>'))
def popup(self, event):
self.menubar.post(event.x_root, event.y_root)
答案 0 :(得分:0)
您无法使用grid
滚动添加到文本小部件的小部件。文本小部件只能滚动嵌入window_create
的小部件。
最常用的技术是将所有小部件放在一个框架中,将该框架添加到画布,然后滚动画布。有关示例,请参阅Adding a scrollbar to a group of widgets in Tkinter。