Форум сайта python.su
создал форму
при изменении размеров окна, текстбокс который внутри не меняет размеры, как сделать чтобы был всё время по размеру родительского окна?
https://ibb.co/cHZgPG
import tkinter as tk class Application(tk.Frame): def __init__(self, master=None): tk.Frame.__init__(self, master) self.pack() self.createWidgets() def createWidgets(self): panelFrame = tk.Frame(self, height=60, bg='gray') textFrame = tk.Frame(self, height=340, width=600) panelFrame.pack(side='top', fill='x', expand=True) textFrame.pack(side='bottom', fill='both', expand=True) textbox = tk.Text(textFrame, font='Arial 14', wrap='word') scrollbar = tk.Scrollbar(textFrame) scrollbar['command'] = textbox.yview textbox['yscrollcommand'] = scrollbar.set textbox.pack(side='left', fill='both', expand=True) scrollbar.pack(side='right', fill='y') self.saveBtn = tk.Button(self) self.saveBtn["text"] = "Сохранить в файл XML" self.saveBtn["command"] = self.say_hi self.saveBtn.pack(side="top") self.saveBtn.place(x=10, y=10, width=140, height=40) self.QUIT = tk.Button(self, text="ВЫХОД", fg="red", command=root.destroy) self.QUIT.place(x=155, y=10, width=60, height=40) root = tk.Tk() app = Application(master=root) app.mainloop()
Отредактировано qasef (Янв. 25, 2018 20:58:53)
Офлайн
Вот так (кнопки внизу справа):
from tkinter import Tk,Frame,PanedWindow,Text,Scrollbar,Button class Application(Frame): def __init__(self, master=None): Frame.__init__(self, master) self.createWidgets() def createWidgets(self): frame=Frame() frame.pack(fill='both',expand=True) pw=PanedWindow(frame,bg='#0f0',sashwidth=1) #панель инструментов (зелёная только для видимости) pw.pack(side='bottom',fill='x') QUIT=Button(pw,text='ВЫХОД',fg='red',command=root.destroy) QUIT.pack(side='right') saveBtn=Button(pw,text='Сохранить в файл XML',command=self.foo) saveBtn.pack(side='right') textbox=Text(frame, font='Arial 14', wrap='word') scrollbar=Scrollbar(frame) scrollbar['command'] = textbox.yview textbox['yscrollcommand'] = scrollbar.set textbox.pack(side='left', fill='both', expand=True) scrollbar.pack(side='right', fill='y') frame.grid_columnconfigure(0,weight=1) #привязывает ширину фрейма к размеру окна frame.grid_rowconfigure(0,weight=1) #привязывает высоту фрейма к размеру окна def foo(self): pass root=Tk() app=Application(master=root) app.mainloop()
Офлайн
спасибо, получилось
Офлайн