У меня небольшая проблема с полосами прокрутки. Функционально все работает нормально. Появляются полосы прокрутки, реагируют на вставку в текстовые виджеты и работает прокрутка. Но сразу после запуска приложения кнопки со стрелками на всех полосах прокрутки отображаются серым цветом, пока я не изменю размер окна приложения. Есть ли что-то принципиально неправильное в моих кадрах в настройках сетки? Я разделил на четверти: Верхний левый (UL), Верхний правый (UR), Нижний левый (LL), Нижний правый (LR).
import Tkinter
from Tkinter import *
class findhash_tk(Tkinter.Tk):
def __init__(self, parent):
Tkinter.Tk.__init__(self, parent)
self.parent = parent
self.initialize()
def initialize(self):
self.frameUL = Tkinter.LabelFrame(self, text="Upper left")
self.frameUL.grid(row=0, column=0, sticky=W+E+N+S, padx=2, pady=2)
self.frameUR = Tkinter.LabelFrame(self, text="Upper right")
self.frameUR.grid(row=0, column=1, sticky=W+E+N+S, padx=2, pady=2)
self.frameLL = Tkinter.LabelFrame(self, text="Lower left")
self.frameLL.grid(row=1, column=0, sticky=W+E+N+S, padx=2, pady=2)
self.frameLR = Tkinter.LabelFrame(self, text="Lower right")
self.frameLR.grid(row=1, column=1, sticky=W+E+N+S, padx=2, pady=2)
self.scrollbarUR = Tkinter.Scrollbar(self.frameUR, orient='vertical')
self.scrollbarUR.grid(row=0, column=1, sticky=N+S)
self.textBoxUR = Tkinter.Text(self.frameUR)
self.textBoxUR.config(yscrollcommand=self.scrollbarUR.set)
self.textBoxUR.grid(row=0, column=0, sticky=W+E+N+S)
self.scrollbarUR.config(command=self.textBoxUR.yview)
self.scrollbarLLV = Tkinter.Scrollbar(self.frameLL, orient='vertical')
self.scrollbarLLV.grid(row=0, column=1, sticky=N+S)
self.scrollbarLLH = Tkinter.Scrollbar(self.frameLL, orient='horizontal')
self.scrollbarLLH.grid(row=1, column=0, sticky=W+E)
self.textBoxLL = Tkinter.Text(self.frameLL)
self.textBoxLL.config(wrap="none", yscrollcommand=self.scrollbarLLV.set, xscrollcommand=self.scrollbarLLH.set)
self.textBoxLL.grid(row=0, column=0, sticky=W+E+N+S)
self.scrollbarLLV.config(command=self.textBoxLL.yview)
self.scrollbarLLH.config(command=self.textBoxLL.xview)
self.scrollbarLRV = Tkinter.Scrollbar(self.frameLR, orient='vertical')
self.scrollbarLRV.grid(row=0, column=1, sticky=N+S)
self.scrollbarLRH = Tkinter.Scrollbar(self.frameLR, orient='horizontal')
self.scrollbarLRH.grid(row=1, column=0, sticky=W+E)
self.textBoxLR = Tkinter.Text(self.frameLR)
self.textBoxLR.config(wrap="none", yscrollcommand=self.scrollbarLRV.set, xscrollcommand=self.scrollbarLRH.set)
self.textBoxLR.grid(row=0, column=0, sticky=W+E+N+S)
self.scrollbarLRV.config(command=self.textBoxLR.yview)
self.scrollbarLRH.config(command=self.textBoxLR.xview)
for x in range(50):
self.textBoxUR.insert(END, str(x) + "\n")
for x in range(50):
self.textBoxLL.insert(END, str(x) + "\n")
for x in range(50):
self.textBoxLR.insert(END, str(x) + "\n")
if __name__ == "__main__":
app = findhash_tk(None)
app.title('Test App')
app.mainloop()
Исходное состояние графического интерфейса