Für eine User-Interface, wo Benutzer in eine Datenbank angelegt werden können hab ich ein Menu, wo Checkbuttons eingefügt werden. Mit diesen Checkbuttons kann der Admin bestimmte Zugangsberechtigungen auswählen, die der Benutzer haben kann. Zur Info: Im Code entnehme ich die Namen ("Spaltennamen") für die dazugehörigen Checkbuttons aus einer zuvor angelegten Datenbank.
Hier der Teil des Codes der User-Interface:
Code: Alles auswählen
#Maximale Spaltenanzahl herausfinden
cursor.execute("SELECT count(*) AS Spaltenanzahl FROM information_schema.columns where table_name = %s", ("Benutzer",))
spaltenanzahl = cursor.fetchone()
#MenüCombox zum erstellen der S+ Freigaben
mb = ttk.Menubutton(Frame_Benutzererstellen, text = "S+ Benutzerzugänge")
mb.grid(row = 0, column =2, columnspan = 2)
mb.menu = Menu (mb, tearoff = 0)
mb["menu"] = mb.menu
#MenüCombobox wird befüllt
int_Freigabestufen = list()
#Die 7 steht da, weil die ersten sieben Stellen in Spaltennamen sind Benutzerdaten und erst ab da beginnen die Zugangsberechtigungen
for Spalten in range(7, int(spaltenanzahl[0])):
int_Sp = IntVar()
mb.menu.add_checkbutton(label = Spaltennamen [Spalten][0], variable = int_Sp)
int_Freigabestufen.append(int_Sp)
1. Zur Zeit habe ich nur zehn Zugangsberechtigungen. Jetzt nehme ich den Fall an, dass mehrere dazu kommen würden. Ist es möglich die Größe des anzeigten Inhalts zu begrenzen und dann beisplw. mit einer Scrollbar die restlichen zu sehen ?
2. Auch etwas Benutzerunfreundlich ist die Tatsache, dass wenn ich ein Checkbutton bediene das ganze Menü zugeklappt wird und ich, wenn ich weitere Sachen auswählen möchte das Menü wieder neu aufmachen muss. Gibt es da einen Befehl, welcher das verhindert ?
Über Hilfestellungen wäre ich sehr erfreut