Tkinter ScrolledText

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
AlexedTV
User
Beiträge: 1
Registriert: Montag 19. Juli 2021, 18:48

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()
Benutzeravatar
peterpy
User
Beiträge: 188
Registriert: Donnerstag 7. März 2013, 11:35

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
Sirius3
User
Beiträge: 17737
Registriert: Sonntag 21. Oktober 2012, 17:20

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()
Antworten