【发布时间】:2018-01-30 21:03:44
【问题描述】:
我试图在主窗口 (janela) 中添加一个滚动条,只看到第 33 行。使用网格方法,但这对我来说似乎是不可能的。我已经明白应该使用画布,但我无法根据我的情况调整示例。
有办法吗?
from tkinter import *
import sqlite3
from tkinter.ttk import Combobox
janela = Tk()
yscrollbar = Scrollbar(janela, orient=VERTICAL)
yscrollbar.grid(row=2, rowspan=50, column=40, sticky=N + S)
canvas = Canvas(janela, bd=0, width=1, heigh=1)
canvas.grid(row=0, column=0, sticky=N + S + E + W)
yscrollbar.config(command=canvas.yview)
canvas.config(yscrollcommand=yscrollbar.set, scrollregion=(0, 0, 100, 100))
class Frames(object):
def __init__(self):
pass
def main_frame(self, janela):
janela.geometry("1200x600+100+100")
cota1 = (Label(janela, text="1", width=7,font=("Calibri", "12"))).grid(row=4, column=6)
cota2 = (Label(janela, text="2", width=7,font=("Calibri", "12"))).grid(row=5, column=6)
cota3 = (Label(janela, text="3", width=7,font=("Calibri", "12"))).grid(row=6, column=6)
cota4 = (Label(janela, text="4", width=7,font=("Calibri", "12"))).grid(row=7, column=6)
cota5 = (Label(janela, text="5", width=7,font=("Calibri", "12"))).grid(row=8, column=6)
cota6 = (Label(janela, text="6", width=7,font=("Calibri", "12"))).grid(row=9, column=6)
cota7 = (Label(janela, text="7", width=7,font=("Calibri", "12"))).grid(row=10, column=6)
cota8 = (Label(janela, text="8", width=7,font=("Calibri", "12"))).grid(row=11, column=6)
cota9 = (Label(janela, text="9", width=7,font=("Calibri", "12"))).grid(row=12, column=6)
cota10 = (Label(janela, text="10", width=7,font=("Calibri", "12"))).grid(row=13, column=6)
cota11 = (Label(janela, text="11", width=7,font=("Calibri", "12"))).grid(row=14, column=6)
cota12 = (Label(janela, text="12", width=7,font=("Calibri", "12"))).grid(row=15, column=6)
cota13 = (Label(janela, text="13", width=7,font=("Calibri", "12"))).grid(row=16, column=6)
cota14 = (Label(janela, text="14", width=7,font=("Calibri", "12"))).grid(row=17, column=6)
cota15 = (Label(janela, text="15", width=7,font=("Calibri", "12"))).grid(row=18, column=6)
cota16 = (Label(janela, text="16", width=7,font=("Calibri", "12"))).grid(row=19, column=6)
cota17 = (Label(janela, text="17", width=7,font=("Calibri", "12"))).grid(row=20, column=6)
cota18 = (Label(janela, text="18", width=7,font=("Calibri", "12"))).grid(row=21, column=6)
cota19 = (Label(janela, text="19", width=7,font=("Calibri", "12"))).grid(row=22, column=6)
cota20 = (Label(janela, text="20", width=7,font=("Calibri", "12"))).grid(row=23, column=6)
cota21 = (Label(janela, text="21", width=7,font=("Calibri", "12"))).grid(row=24, column=6)
cota22 = (Label(janela, text="22", width=7,font=("Calibri", "12"))).grid(row=25, column=6)
cota23 = (Label(janela, text="23", width=7,font=("Calibri", "12"))).grid(row=26, column=6)
cota24 = (Label(janela, text="24", width=7,font=("Calibri", "12"))).grid(row=27, column=6)
cota25 = (Label(janela, text="25", width=7,font=("Calibri", "12"))).grid(row=28, column=6)
cota26 = (Label(janela, text="26", width=7,font=("Calibri", "12"))).grid(row=29, column=6)
cota27 = (Label(janela, text="27", width=7,font=("Calibri", "12"))).grid(row=30, column=6)
cota28 = (Label(janela, text="28", width=7,font=("Calibri", "12"))).grid(row=31, column=6)
cota29 = (Label(janela, text="29", width=7,font=("Calibri", "12"))).grid(row=32, column=6)
cota30 = (Label(janela, text="30", width=7,font=("Calibri", "12"))).grid(row=33, column=6)
def Antunes_frame(self):
janelaAC_96 = Toplevel()
janelaAC_96.geometry("1400x750+150+150")
app = Frames()
app.main_frame(janela)
janela.mainloop()
【问题讨论】:
-
除了你的滚动条问题,你应该看看这个关于使用循环创建多个小部件的问题。 stackoverflow.com/questions/27067094/…
-
为什么你不能将其他示例应用到你的代码中?是什么阻止了你?
-
FWIW,您的所有变量(
cota1、cota2等)都将设置为None。见stackoverflow.com/a/1101765/7432 -
我不知道有些东西是做什么的,比如“class Frames (object)”或“def __init __ (self):”。我正在慢慢吸收这一点,但这令人沮丧。我的程序有6500行,看的我还是看不懂。
-
关于如何将滚动条添加到小部件网格的问题已经有一个已接受的答案。除非您可以改写您的问题以向我们展示您的尝试以及失败的原因,否则此问题可能会作为重复问题关闭。