Verfasst: Montag 3. Dezember 2007, 16:41
selectmode könnte die Lösung sein?
Code: Alles auswählen
tk.Listbox(hp, selectmode=tk.MULTIPLE)
Seit 2002 Diskussionen rund um die Programmiersprache Python
https://www.python-forum.de/
Code: Alles auswählen
tk.Listbox(hp, selectmode=tk.MULTIPLE)
Code: Alles auswählen
tk.Listbox(hp, selectmode=tk.MULTIPLE, exportselection=0)
Code: Alles auswählen
self.listbox.selection_clear(self.listbox.curselection())
Code: Alles auswählen
File "C:gui.py", line 707, in neu
self.listbox.selection_clear(self.listbox.curselection())
File "C:\Python25\lib\lib-tk\Tkinter.py", line 2530, in selection_clear
'selection', 'clear', first, last)
TclError: bad listbox index "": must be active, anchor, end, @x,y, or a number
Code: Alles auswählen
self.listbox.selection_clear(0,x)
Code: Alles auswählen
global klick
klick=0
def ausgabe():
global klick
klick+=1
if klick % 2 != 0:
global textfenster
textfenster= Text(fenster,width=29,height=10)
textfenster.grid(row=1,columnspan=2)
else:
textfenster.grid_forget()
from Tkinter import*
fenster = Tk()
entry=Entry(fenster)
entry.grid(row=0)
fenster.button = Button(fenster,text ="klick mich", command=ausgabe)
fenster.button.grid(row=0,column=1)
# Fenster anzeigen
fenster.mainloop()
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# For Python3.x
import tkinter as tk
class TestGUI:
def __init__(self):
fenster = tk.Tk()
self.mylist = {0 : 'Hans', 1 : 'Peter', 2 : 'Thomas'}
self.listbox = tk.Listbox(fenster,
selectmode=tk.EXTENDED,
width=10,
height=len(self.mylist))
for name in sorted(self.mylist):
self.listbox.insert(tk.END, self.mylist[name])
self.listbox.bind('<<ListboxSelect>>', self.check_select)
self.listbox.pack()
def check_select(self, event):
"""Überprüfe das Ereignis und führe den Auftrag aus"""
indices = list(map(int, self.listbox.curselection()))
result = ''.join([self.mylist[row]
for row in sorted(self.mylist) if row == indices[0]])
print(result)
return result
if __name__ == '__main__':
das_fenster = TestGUI()
tk.mainloop()
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# For Python3.x
import tkinter as tk
class TestGUI:
def __init__(self):
fenster = tk.Tk()
self.entry=tk.Entry(fenster)
self.entry.pack()
self.mylist = {0 : 'Hans', 1 : 'Peter', 2 : 'Thomas'}
self.listbox = tk.Listbox(fenster,
selectmode=tk.EXTENDED,
width=10,
height=len(self.mylist))
for name in sorted(self.mylist):
self.listbox.insert(tk.END, self.mylist[name])
self.listbox.bind('<<ListboxSelect>>', self.check_select)
self.listbox.pack()
def check_select(self, event):
"""Überprüfe das Ereignis und führe den Auftrag aus"""
indices = list(map(int, self.listbox.curselection()))
result = ''.join([self.mylist[row]
for row in sorted(self.mylist) if row == indices[0]])
self.entry.delete(0, tk.END)
return self.entry.insert(tk.END, result)
if __name__ == '__main__':
das_fenster = TestGUI()
tk.mainloop()
... und warum versuchst du es nicht mit einer ttk.combobox?sorgenlos hat geschrieben:Hallo Leute, ich such schon seit einiger Zeit die Möglichkeit mit Tkinter eine Dropdownbox zu erstellen, in etwa so: