Seite 1 von 1

Tkinter ScrolledText

Verfasst: Montag 19. Juli 2021, 19:20
von AlexedTV
Könnte man machen dass der ScrolledText von oben nach unten schreibt?

Code: Alles auswählen

from tkinter import *
from tkinter import scrolledtext

class TERMINAL():
    TITLE = 'Commander | V1.0'
    VERSION = 'V1.0'

def sendCMD(event):
    COMMANDLINE.config(state='normal')
    COMMANDLINE.insert('1.0', '$ '+COMMAND.get()+'\n')
    COMMANDLINE.config(state='disabled')
    COMMAND.delete(0, END)


COMMANDER = Tk()
# WINDOW
COMMANDER.title(TERMINAL.TITLE)
COMMANDER.geometry('750x375')
COMMANDER.wm_attributes('-transparentcolor', 'grey')
COMMANDER.config(bg='yellow')

# GUI
COMMAND = Entry(fg='white', bg='grey', borderwidth=0, font='Arial 10')
COMMAND.bind('<Return>', sendCMD)
COMMAND.pack(side=BOTTOM, fill='both')

COMMANDLINE = scrolledtext.ScrolledText(COMMANDER, bg='grey', fg='white', borderwidth=0, font='Arial 10')
COMMANDLINE.config(state='disabled')
COMMANDLINE.pack(fill='both')


COMMANDER.mainloop()

Re: Tkinter ScrolledText

Verfasst: Dienstag 20. Juli 2021, 07:53
von peterpy
Hallo AlexedTV
wenn ich dich recht verstehe, willst Du neue Einträge unten anhängen, also am Ende.
schau mal hier:https://anzeljg.github.io/rin2/book2/24 ... index.html
Und vermeide Sternimporte! Warum, kannst Du im Tkinter Unterforum viel Male nachlesen.
Gruss
Peter

Re: Tkinter ScrolledText

Verfasst: Dienstag 20. Juli 2021, 08:14
von Sirius3
Großschreibung ist für Konstanten, normale Variablen werden komplett klein geschrieben.
Die Klasse macht keinen Sinn.
Benutze keine *-Importe, weil das verschleiert, woher welcher Name kommt.
Alles was eine Funktion braucht, muß sie über ihre Argumente bekommen.
Alles auf oberster Ebene muß auch in eine Funktion wandern.

Warum benutzt Du für manche Konfigurationsparameter die tk-Konstanten und für manche Strings?

Code: Alles auswählen

import tkinter as tk
from functools import partial

TITLE = 'Commander | V1.0'
VERSION = 'V1.0'

def send_command(command, commandline, event):
    commandline.config(state=tk.NORMAL)
    commandline.insert('1.0', f'$ {command.get()}\n')
    commandline.config(state=tk.DISABLED)
    command.delete(0, tk.END)


def main():
    commander = tk.Tk()
    commander.title(TITLE)
    commander.geometry('750x375')
    commander.config(bg='yellow')

    command = tk.Entry(commander, fg='white', bg='grey', borderwidth=0, font='Arial 10')
    commandline = tk.scrolledtext.ScrolledText(commander, bg='grey', fg='white', borderwidth=0, font='Arial 10', state=tk.DISABLED)
    command.bind('<Return>', partial(send_command, command, commandline))
    command.pack(side=tk.BOTTOM, fill=tk.BOTH)
    commandline.pack(fill=tk.BOTH)

    commander.mainloop()

if __name__ == "__main__":
    main()