Неправильное форматирование текстового поляPython

Программы на Python
Ответить
Anonymous
 Неправильное форматирование текстового поля

Сообщение Anonymous »

Я пытаюсь сделать так, чтобы текстовое поле занимало большую часть нижнего ряда экрана, а полоса прокрутки занимала только самую правую часть. Но в настоящее время мой код приводит к тому, что текстовое поле и полоса прокрутки разделяются 50/50 посередине окна. Почему это происходит и как это исправить?
#in windowstart
import tkinter as tk
from tkinter import ttk,font
def create_root():
root = tk.Tk()
root.title("Aghast")
root.geometry("1400x800")
root.configure(background="dark grey")
root.rowconfigure(0,weight=1)
root.rowconfigure(1,weight=1)
root.columnconfigure(0,weight=1)
return root

#in another file

root = create_root()
main_container = tk.Frame(root,height=800,width=1400)
main_container.grid(row=0,column=0,sticky="nsew")

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

main_container.rowconfigure(0, weight=3)
main_container.rowconfigure(1,weight=1)
main_container.rowconfigure(2,weight=1)
main_container.columnconfigure(0, weight=1)

logbox_frame = tk.Frame(root)
logbox_frame.grid(row=1,column=0,sticky=tk.EW)

room_container = tk.Frame(main_container)
room_container.grid(row=0, column=0, sticky="nsew")
room_container.configure(background="dark gray")

class logbox(tk.Frame):
def __init__(self,parent):
super().__init__(parent)
self.textframe = tk.Frame(self)
self.textframe.columnconfigure(0,weight=10)
self.textframe.columnconfigure(1,weight=1)
for i in range(6):
self.textframe.rowconfigure(i, weight=1 if i == 5 else 0)
self.textframe.grid(row=0, column=0, sticky="nsew")

self.scrollbar = tk.Scrollbar(self.textframe)
self.scrollbar.grid(row=5,column=1,sticky="e")

self.textbox = tk.Text(
self.textframe,
height=8,
wrap="word",
yscrollcommand=self.scrollbar.set,
)
self.textbox.grid(row=5,column=0,sticky="nsew")
self.textbox.config(state="disabled")

self.scrollbar.config(command=self.textbox.yview)

self.textbox.tag_config("combat", foreground="red")
self.textbox.tag_config("treasure", foreground="gold")
self.textbox.tag_config("lore", foreground="purple")
self.textbox.tag_config("peaceful", foreground="green")
self.textbox.tag_config("default", foreground="black")

self.grid(row=5, column=0,columnspan=2)

logbox_frame.tkraise()
room_container.tkraise()
Logbox = logbox(logbox_frame)
Logbox.tkraise()

root.mainloop()
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»