Code:
from Tkinter import *
import os
import sys
import listbox
def dirlister(self):
userdir = self.entry.get()
dirlist = os.listdir(userdir)
self.test.insert(0.0, os.curdir)
def launch():
ScrolledList(options).mainloop()
class Application(Frame):
def __init__(self, master):
Frame.__init__(self, master)
self.grid()
self.entry = Entry(self)
self.entry.grid(row =1, column = 0, sticky = W)
self.submit_bttn = Button(self, text = 'submit', command = self.txbox)
self.submit_bttn.grid(row = 2, column = 0, sticky = N)
self.open_bttn = Button(self, text = 'open', command = self.open_file)
self.open_bttn.grid(row = 2, column = 0, sticky = E)
self.launch_bttn = Button(self, text = 'launch', command=dirlister)
self.launch_bttn.grid(row=2, column = 0, sticky = W)
self.text = Text(self, width = 40, height = 10, wrap = WORD)
self.text.grid(row = 3, column = 0, columnspan = 2, sticky = W)
self.lstbx = Listbox(self)
self.lstbx.grid(row = 4, column = 0)
def txbox(self):
contents = self.entry.get()
self.text.delete(0.0, END)
self.text.insert(0.0, contents)
def open_file(self):
contents = self.entry.get()
file_contents = open(contents, mode='r').read()
self.text.delete(0.0, END)
self.text.insert(0.0, file_contents)
self.lstbx.delete(1, END)
self.lstbx.insert(1, file_contents)
root = Tk()
root.geometry('310x330')
app = Application(root)
root.mainloop()
Thats a small dirlister in the making, and i am trying to put a scrollbar into the listbox, and i cant figure out how to do it. I have a listbox and a textbox module but idk how to intergrate it. Here is the listbox module. Anyone know?
Code:
rom Tkinter import *
class ScrolledList(Frame):
def __init__(self, options, parent=None):
Frame.__init__(self, parent)
self.pack(expand=YES, fill=BOTH) # make me expandable
self.makeWidgets(options)
def handleList(self, event):
index = self.listbox.curselection() # on list double-click
label = self.listbox.get(index) # fetch selection text
self.runCommand(label) # and call action here
def makeWidgets(self, options): # or get(ACTIVE)
sbar = Scrollbar(self)
list = Listbox(self, relief=SUNKEN)
sbar.config(command=list.yview) # xlink sbar and list
list.config(yscrollcommand=sbar.set) # move one moves other
sbar.pack(side=RIGHT, fill=Y) # pack first=clip last
list.pack(side=LEFT, expand=YES, fill=BOTH) # list clipped first
pos = 0
for label in options: # add to list-box
list.insert(pos, label) # or insert(END,label)
pos = pos + 1
#list.config(selectmode=SINGLE, setgrid=1) # select,resize modes
list.bind('<Double-1>', self.handleList) # set event handler
self.listbox = list
def runCommand(self, selection): # redefine me lower
print 'You selected:', selection
if __name__ == '__main__':
options = map((lambda x: 'Lumberjack-' + str(x)), range(20))
ScrolledList(options).mainloop()
__________________