Этот вопрос закрыт для ответов, так как повторяет вопрос Как сделать toolbar под полем text в tkinter?
id_666i
@id_666i

Не показывается toolbar под виджетом text, как исправить?

Пытаюсь сделать тулбар под виджетом text в tkinter, но он почему то не отображается
Не работает toolbarBottom
def toolbar(self): # Добавляю в тулбар кнопки
        toolbarTop = tk.Frame(bg='#d7d8e0', bd=4) # Создаём тулбар
        toolbarTop.pack(side=tk.TOP, fill=tk.X)

        scrollbar = Scrollbar(root)                 # Cоздаём полосу прокрутки
        scrollbar.pack( side = RIGHT, fill = Y )    # пакаем её, ставит параметры

        toolbarBottom = tk.Frame(bg='#d7d8e0', bd=4) # Создаём тулбар
        toolbarBottom.pack(side=tk.BOTTOM, fill=tk.X)

        self.text = Text(width=200, height=100, fg='black', wrap=WORD, yscrollcommand=scrollbar.set)
        self.text.pack()

        scrollbar.config(command = self.text.yview,)   # хз для чего, но и без этого работает ( но оставим )

        btn_new = tk.Button(toolbarTop, text='Новый файл', bd = 4, command=self.newFile)
        btn_new.pack(side=tk.LEFT)
        
        btn_open = tk.Button(toolbarTop, text='Открыть файл', bd = 4, command=self.openFile)
        btn_open.pack(side=tk.LEFT)
        
        btn_save = tk.Button(toolbarTop, text='Сохранить файл', bd = 4, command=self.saveTextField)
        btn_save.pack(side=tk.LEFT)

Подскажите, вот весь код
spoiler
import os
import tkinter as tk
from tkinter import *
from tkinter import messagebox
from tkinter import simpledialog
from tkinter import filedialog
from tkinter import scrolledtext

#coding: utf8
#for name in os.listdir("C://"):
#    print (name)
class Main(tk.Frame):
    def __init__(self, root):
        super().__init__(root)
        self.toolbar()

    def toolbar(self): # Добавляю в тулбар кнопки
        toolbarTop = tk.Frame(bg='#d7d8e0', bd=4) # Создаём тулбар
        toolbarTop.pack(side=tk.TOP, fill=tk.X)

        scrollbar = Scrollbar(root)                 # Cоздаём полосу прокрутки
        scrollbar.pack( side = RIGHT, fill = Y )    # пакаем её, ставит параметры

        toolbarBottom = tk.Frame(bg='#d7d8e0', bd=4) # Создаём тулбар
        toolbarBottom.pack(side=tk.BOTTOM, fill=tk.X)

        self.text = Text(width=200, height=100, fg='black', wrap=WORD, yscrollcommand=scrollbar.set)
        self.text.pack()

        scrollbar.config(command = self.text.yview,)   # хз для чего, но и без этого работает ( но оставим )

        btn_new = tk.Button(toolbarTop, text='Новый файл', bd = 4, command=self.newFile)
        btn_new.pack(side=tk.LEFT)
        
        btn_open = tk.Button(toolbarTop, text='Открыть файл', bd = 4, command=self.openFile)
        btn_open.pack(side=tk.LEFT)
        
        btn_save = tk.Button(toolbarTop, text='Сохранить файл', bd = 4, command=self.saveTextField)
        btn_save.pack(side=tk.LEFT)


    def newFile(self):
        self.text.pack()
        self.text.delete(1.0, END)
        self.text.insert(1.0, "# Notepad v0.01", END)
        

    def saveTextField(self):
        file = filedialog.asksaveasfilename()
        with open(file, "w") as file:
            file.write(self.text.get(1.0, END))
    def openFile(self):
        file_selection = filedialog.askopenfilename()
        with open(file_selection, "r") as file:
            script = file.read()
        self.text.pack()
        self.text.insert(1.0, script, END)

if __name__ == "__main__": # Если окно запущенно, то создает наше главное окно
    root = tk.Tk()
    app = Main(root)
    app.pack()
    root.title("Text 0.01v")
    root.geometry("800x600+450+100")
    root.resizable(True, True)
    root.mainloop()
  • Вопрос задан
  • 76 просмотров
Решения вопроса 1
Он не показывается, т.к. вы ничего в него не добавили
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы