This example is very similar to the other example. It is essentially the same example restricted to the XmDefaults stuff now supported in Tix. Notice that I have not added any colors or set any font sizes. It was displayed on Linux running KDE while using 'Media Peach' as the color scheme.
Here the color scheme is Windows 95. Again, with KDE on Linux.
Here the color scheme is Atlas Green. Again, with KDE on Linux.
#! /usr/bin/env python
from Tkinter import *
import Tix, sys
root = Tix.Tk()
def greeting(str):
import Dialog
Dialog.Dialog(title="greetings",
text=str,
bitmap="",default=0,strings=("cont",))
def init():
pass
def load_listbox(o):
for i in range(50):
o.insert(END, i)
def load_scrolled_text(o):
o.insert(END, "\n1. This is a long bit of text that I want to put inside" + " this text box.")
o.insert(END, "\n2. This is a long bit of text that I want to put inside" + " this text box.")
o.insert(END, "\n3. This is a long bit of text that I want to put inside" + " this text box.")
o.insert(END, "\n4. This is a long bit of text that I want to put inside" + " this text box.")
o.insert(END, "\n5. This is a long bit of text that I want to put inside" + " this text box.")
o.insert(END, "\n6. This is a long bit of text that I want to put inside" + " this text box.")
o.insert(END, "\n7. This is a long bit of text that I want to put inside" + " this text box.")
o.insert(END, "\n8. This is a long bit of text that I want to put inside" + " this text box.")
o.insert(END, "\n9. This is a long bit of text that I want to put inside" + " this text box.")
o.insert(END, "\n0. This is a long bit of text that I want to put inside" + " this text box.")
def load_tree(o):
o.configure(separator="/")
o.add("/",text="/")
o.add("/home",text="home")
o.add("/home/ioi",text="ioi")
o.add("/home/foo",text="foo")
o.add("/usr",text="usr")
o.add("/usr/lib",text="lib")
o.add("/home/rozen", text="rozen")
o.add("/home/rozen/pkg", text="pkg")
o.add("/home/rozen/pkg/PyTix", text="PyTix")
o.add("/home/rozen/vp", text="vp")
o.add("/home/rozen/vp/lib", text='lib')
o.add("/usr/bin", text='bin')
o.add("/usr/man", text='man')
def open_file():
import tkFileDialog
tkFileDialog.askopenfilename(filetypes=[("all files", "*")])
def quit():
root.destroy()
def quit_a(event):
print 'quit_a: ' + event.type
quit()
def run_demo():
import time
for i in range(20):
x = (5.0 * (i+1)) /100
print "str(x) =", str(x)
w.tix34_nbframe_page4_tix30_border_frame_tix31.configure(value=str(x))
w.tix34.update_idletasks()
time.sleep(.3)
def tree_browse(x):
greeting(str(x))
class New_Toplevel_1:
def __init__(self, master=None):
self.fra17 = Frame (master)
self.fra17.place(in_=master,x=40,y=80)
self.fra17.configure(relief=GROOVE)
self.fra17.configure(borderwidth="2")
self.fra17.configure(height="75")
self.fra17.configure(relief="groove")
self.fra17.configure(width="125")
self.fra17_but18 = Button (self.fra17)
self.fra17_but18.place(in_=self.fra17,x=20,y=20)
self.fra17_but18.configure(command=quit)
self.fra17_but18.configure(text="Quit")
self.lab17 = Label (master)
self.lab17.place(in_=master,x=25,y=40)
self.lab17.configure(borderwidth="1")
self.lab17.configure(relief="raised")
self.lab17.configure(text="Don's Demo")
self.tex17 = Text (master)
self.tex17.place(in_=master,x=200,y=50)
self.tex17.configure(height="8")
self.tex17.configure(width="20")
load_scrolled_text(self.tex17) # ldcmd .top17.tex17
self.ent17 = Entry (master)
self.ent17.place(in_=master,x=50,y=200)
self.hello = StringVar()
self.ent17.configure(textvariable=self.hello)
self.ent17.configure(width="35")
self.ent17.bind('q',lambda e: greeting('q'))
self.fra19 = Frame (master)
self.fra19.place(in_=master,x=200,y=240)
self.fra19.configure(relief=GROOVE)
self.fra19.configure(borderwidth="4")
self.fra19.configure(height="115")
self.fra19.configure(relief="groove")
self.fra19.configure(width="125")
self.fra19_rad20 = Radiobutton (self.fra19)
self.fra19_rad20.place(in_=self.fra19,x=5,y=40)
self.fra19_rad20.configure(command=lambda : greeting("Radio 2 "))
self.fra19_rad20.configure(selectcolor="red")
self.fra19_rad20.configure(text="radio 1")
self.fra19_rad22 = Radiobutton (self.fra19)
self.fra19_rad22.place(in_=self.fra19,x=5,y=75)
self.fra19_rad22.configure(command=lambda : greeting("Radio 2 "))
self.fra19_rad22.configure(selectcolor="red")
self.fra19_rad22.configure(text="radio 2")
self.fra19_rad22.configure(value="2")
self.fra19_lab19 = Label (self.fra19)
self.fra19_lab19.place(in_=self.fra19,x=10,y=10)
self.fra19_lab19.configure(borderwidth="1")
self.fra19_lab19.configure(text="Radio Buttons")
self.fra18 = Frame (master)
self.fra18.place(in_=master,x=30,y=245)
self.fra18.configure(relief=GROOVE)
self.fra18.configure(borderwidth="4")
self.fra18.configure(height="110")
self.fra18.configure(relief="groove")
self.fra18.configure(width="125")
self.fra18_che20 = Checkbutton (self.fra18)
self.fra18_che20.place(in_=self.fra18,x=5,y=40)
self.fra18_che20.configure(command=lambda :greeting("Check Button 1"))
self.fra18_che20.configure(selectcolor="blue")
self.fra18_che20.configure(text="check 1")
self.fra18_che21 = Checkbutton (self.fra18)
self.fra18_che21.place(in_=self.fra18,x=5,y=75)
self.fra18_che21.configure(command=lambda :greeting("Check Button 2"))
self.fra18_che21.configure(selectcolor="blue")
self.fra18_che21.configure(text="check 2")
self.fra18_lab22 = Label (self.fra18)
self.fra18_lab22.place(in_=self.fra18,x=5,y=5)
self.fra18_lab22.configure(borderwidth="1")
self.fra18_lab22.configure(text="Check Buttons")
self.lis17 = Listbox (master)
self.lis17.place(in_=master,x=390,y=50)
self.lis17.configure(relief="raised")
load_listbox(self.lis17) # ldcmd .top17.lis17
self.lis17.bind('',self.list_handler) # bindcmd .top17.lis17
self.lis17.bind('',lambda e: quit_a(e))
self.sca17 = Scale (master)
self.sca17.place(in_=master,x=380,y=320)
self.sca17.configure(length="271")
self.sca17.configure(orient="horizontal")
self.sca17.configure(tickinterval="10.0")
self.tootsie = DoubleVar()
self.sca17.configure(variable=self.tootsie)
self.tix28 = Tix.LabelFrame(master)
self.tix28.place(in_=master,x=620,y=40)
self.tix28.configure(label="Outside Frame")
self.tix28.configure(borderwidth="2")
self.tix28_border_frame = self.tix28.subwidget_list["frame"]
self.tix28_border_frame.configure(height="200")
self.tix28_border_frame.configure(width="150")
self.tix28_label = self.tix28.subwidget_list["label"]
self.tix28_label.configure(relief="sunken")
self.tix28_label.configure(text="Outside Frame")
self.tix28_border_frame_tix29 = Tix.LabelFrame(self.tix28_border_frame)
self.tix28_border_frame_tix29.place(in_=self.tix28_border_frame,x=10,y=125)
self.tix28_border_frame_tix29.configure(label="Frame A")
self.tix28_border_frame_tix29.configure(borderwidth="2")
self.tix28_border_frame_tix29_border_frame = self.tix28_border_frame_tix29.subwidget_list["frame"]
self.tix28_border_frame_tix29_border_frame.configure(height="30")
self.tix28_border_frame_tix29_border_frame.configure(width="30")
self.tix28_border_frame_tix29_label = self.tix28_border_frame_tix29.subwidget_list["label"]
self.tix28_border_frame_tix29_label.configure(text="Frame A")
self.tix28_border_frame_tix30 = Tix.LabelFrame(self.tix28_border_frame)
self.tix28_border_frame_tix30.place(in_=self.tix28_border_frame,x=20,y=25)
self.tix28_border_frame_tix30.configure(label="Frame B")
self.tix28_border_frame_tix30.configure(borderwidth="2")
self.tix28_border_frame_tix30_border_frame = self.tix28_border_frame_tix30.subwidget_list["frame"]
self.tix28_border_frame_tix30_border_frame.configure(height="44")
self.tix28_border_frame_tix30_border_frame.configure(width="105")
self.tix28_border_frame_tix30_label = self.tix28_border_frame_tix30.subwidget_list["label"]
self.tix28_border_frame_tix30_label.configure(text="Frame B")
self.tix28_border_frame_tix30_border_frame_but29 = Button (self.tix28_border_frame_tix30_border_frame)
self.tix28_border_frame_tix30_border_frame_but29.place(in_=self.tix28_border_frame_tix30_border_frame,x=5,y=0)
self.tix28_border_frame_tix30_border_frame_but29.configure(command=quit)
self.tix28_border_frame_tix30_border_frame_but29.configure(text="exit")
self.tix29 = Tix.ScrolledListBox(master)
self.tix29.place(in_=master,x=410,y=440)
self.tix29_listbox = self.tix29.subwidget_list["listbox"]
self.list_x = self.tix29_listbox
load_listbox(self.tix29_listbox) # ldcmd .top17.tix29.listbox
self.tix29_listbox.bind('',self.list_handler_2) # bindcmd .top17.tix29.listbox
self.lab30 = Label (master)
self.lab30.place(in_=master,x=420,y=400)
self.lab30.configure(borderwidth="1")
self.lab30.configure(relief="raised")
self.lab30.configure(text="TixScrolledListBox")
self.lab30.configure(width="17")
self.tix31 = Tix.OptionMenu(master)
self.tix31.place(in_=master,x=50,y=370)
self.tix31.configure(label="OptionMenu: ")
self.tix31.add_command("z_3",label="Option 1",underline=0)
self.tix31.add_command("z_4",label="Option 2",underline=0)
self.tix31.add_separator("z_5")
self.tix30 = Tix.LabelEntry(master)
self.tix30.place(in_=master,x=350,y=280)
self.tix30.configure(label="LabelEntry:")
self.tix30_frame_entry = self.tix30.subwidget_list["entry"]
self.vu_file = StringVar()
self.tix30_frame_entry.configure(textvariable=self.vu_file)
self.tix30_frame_entry.configure(width="5")
self.tix30_label = self.tix30.subwidget_list["label"]
self.tix30_label.configure(text="LabelEntry:")
self.tix32 = Tix.ComboBox(master,dropdown=1,editable=0,fancy=0)
self.tix32.place(in_=master,x=50,y=430)
self.tix32.configure(arrowbitmap="@/usr/local/lib/tix8.1/bitmaps/cbxarrow.xbm")
self.tix32.configure(crossbitmap="@/usr/local/lib/tix8.1/bitmaps/cross.xbm")
self.tix32.configure(history="0")
self.tix32.configure(prunehistory="1")
self.tix32.configure(tickbitmap="@/usr/local/lib/tix8.1/bitmaps/tick.xbm")
load_listbox(self.tix32) # ldcmd .top17.tix32
self.tix33 = Tix.Tree(master,options='\
hlist.borderWidth "0"\
hlist.drawBranch "1"\
hlist.highlightThickness "0"\
hlist.wideSelection "1"')
self.tix33.place(in_=master,x=690,y=300)
self.tix33.configure(browsecmd=lambda entry=None: tree_browse(entry))
self.tix33.configure(ignoreinvoke="0")
self.tix33.configure(scrollbar="auto")
self.tix33.configure(borderwidth="1")
self.tix33.configure(height="167")
self.tix33.configure(width="212")
self.T1 = self.tix33.subwidget_list['hlist']
load_tree(self.T1) # ldcmd .top17.tix33
self.tix33.autosetmode()
self.tix34 = Tix.NoteBook(master)
self.tix34.place(in_=master,x=40,y=490)
self.tix34.configure(height="213")
self.tix34.configure(highlightcolor="Black")
self.tix34.configure(width="335")
self.tix34_nbframe = self.tix34.subwidget_list["nbframe"]
self.tix34_nbframe.configure(relief="raised")
self.tix34_nbframe.configure(tabpadx="8")
self.tix34.add("page1",anchor="center",label="Page 1")
self.tix34.add("page2",anchor="center",label="Page 2")
self.tix34.add("page3",anchor="center",label="Page 3")
self.tix34.add("page4",anchor="center",label="Page 4")
self.page1 = self.tix34.subwidget_list["page1"]
self.tix34_nbframe_page1_but36 = Button (self.page1)
self.tix34_nbframe_page1_but36.place(in_=self.page1,x=20,y=65)
self.tix34_nbframe_page1_but36.configure(command=quit)
self.tix34_nbframe_page1_but36.configure(text="So Long")
self.page2 = self.tix34.subwidget_list["page2"]
self.tix34_nbframe_page2_but38 = Button (self.page2)
self.tix34_nbframe_page2_but38.place(in_=self.page2,x=230,y=65)
self.tix34_nbframe_page2_but38.configure(command=quit)
self.tix34_nbframe_page2_but38.configure(text="Good By")
self.page3 = self.tix34.subwidget_list["page3"]
self.tix34_nbframe_page3_but39 = Button (self.page3)
self.tix34_nbframe_page3_but39.place(in_=self.page3,x=210,y=120)
self.tix34_nbframe_page3_but39.configure(command=quit)
self.tix34_nbframe_page3_but39.configure(text="Go Away")
self.page4 = self.tix34.subwidget_list["page4"]
self.tix34_nbframe_page4_tix30 = Tix.LabelFrame(self.page4)
self.tix34_nbframe_page4_tix30.place(in_=self.page4,x=5,y=5)
self.tix34_nbframe_page4_tix30.configure(label="label-me")
self.tix34_nbframe_page4_tix30.configure(borderwidth="2")
self.tix34_nbframe_page4_tix30.configure(highlightcolor="Black")
self.tix34_nbframe_page4_tix30_border_frame = self.tix34_nbframe_page4_tix30.subwidget_list["frame"]
self.tix34_nbframe_page4_tix30_border_frame.configure(height="108")
self.tix34_nbframe_page4_tix30_border_frame.configure(width="309")
self.tix34_nbframe_page4_tix30_label = self.tix34_nbframe_page4_tix30.subwidget_list["label"]
self.tix34_nbframe_page4_tix30_label.configure(text="Progress Bar")
self.tix34_nbframe_page4_tix30_border_frame_tix31 = Tix.Meter(self.tix34_nbframe_page4_tix30_border_frame)
self.tix34_nbframe_page4_tix30_border_frame_tix31.place(in_=self.tix34_nbframe_page4_tix30_border_frame,x=130,y=40)
self.tix34_nbframe_page4_tix30_border_frame_tix31.configure(value=".3")
self.tix34_nbframe_page4_tix30_border_frame_tix31.configure(borderwidth="2")
self.tix34_nbframe_page4_tix30_border_frame_tix31.configure(highlightcolor="Black")
self.tix34_nbframe_page4_tix30_border_frame_tix31.configure(relief="sunken")
self.tix34_nbframe_page4_tix30_border_frame_tix31.configure(width="150")
self.tix34_nbframe_page4_tix30_border_frame_but32 = Button (self.tix34_nbframe_page4_tix30_border_frame)
self.tix34_nbframe_page4_tix30_border_frame_but32.place(in_=self.tix34_nbframe_page4_tix30_border_frame,x=10,y=30)
self.tix34_nbframe_page4_tix30_border_frame_but32.configure(command=lambda : run_demo())
self.tix34_nbframe_page4_tix30_border_frame_but32.configure(text="Demo")
self.tix35 = Tix.ScrolledText(master)
self.tix35.place(in_=master,x=660,y=530)
self.tix35.configure(borderwidth="1")
self.tix35.configure(height="141")
self.tix35.configure(highlightcolor="Black")
self.tix35.configure(width="254")
self.tix35_text = self.tix35.subwidget_list["text"]
load_scrolled_text(self.tix35_text) # ldcmd .top17.tix35
self.tix35_text.configure(takefocus="1")
self.tix35_text.configure(wrap="none")
self.tix36 = Tix.Meter(master)
self.tix36.place(in_=master,x=710,y=480)
self.tix36.configure(value=".3")
self.tix36.configure(borderwidth="2")
self.tix36.configure(relief="sunken")
self.tix36.configure(width="150")
self.menubar = Frame(master,relief=RAISED, bd=2)
self.menubar.pack(side=TOP,fill=X)
self.men18 = Menubutton(self.menubar, underline = 0)
self.men18.pack(side=LEFT)
self.men18.configure(text="File")
self.men18_m1 = Menu(self.men18)
self.men18_m1.add_command(label="Open",command=open_file,underline=0)
self.men18_m1.add_command(label="Close",command=lambda :greeting("close"),underline=0)
self.men18_m1.add_command(label="Exit",command=quit,underline=0)
self.men18['menu'] = self.men18_m1
self.men17 = Menubutton(self.menubar, underline = 0)
self.men17.pack(side=LEFT)
self.men17.configure(text="Edit")
self.men17_m2 = Menu(self.men17)
self.men17_m2.add_command(label="Cut",command=lambda:greeting("Cut"),underline=0)
self.men17_m2.add_command(label="Paste",command=lambda :greeting("Paste"),underline=0)
self.men17_m2.add_command(label="Copy",command=lambda : greeting("Copy"),underline=0)
self.men17_m2_cas2 = Menu(self.men17_m2)
self.men17_m2.add_cascade(label="Advanced",menu=self.men17_m2_cas2)
self.men17_m2_cas2.add_command(label="ToUpper",command=lambda :greeting("ToUpper"),underline=0)
self.men17_m2_cas2.add_command(label="ToLower",command=lambda : greeting("ToLower"),underline=0)
self.men17_m2.add_command(label="Delete",command=lambda : greeting("Delete"),underline=0)
self.men17['menu'] = self.men17_m2
self.men28 = Menubutton(self.menubar, underline = 0)
self.men28.pack(side=LEFT)
self.men28.configure(text="Font")
self.men28_m3 = Menu(self.men28)
self.men28_m3.add_checkbutton(label="Courier",command=lambda : greeting("Courier"))
self.men28_m3.add_checkbutton(label="Times Roman",command=lambda : greeting("Times Roman"))
self.men28_m3.add_checkbutton(label="Bodini Book",command=lambda : greeting("Bodini Book"))
self.men28['menu'] = self.men28_m3
self.men29 = Menubutton(self.menubar, underline = 0)
self.men29.pack(side=LEFT)
self.men29.configure(text="IDE")
self.men29_m4 = Menu(self.men29)
self.men29_m4.add_radiobutton(label="Emacs",command=lambda : greeting("Emacs"))
self.men29_m4.add_radiobutton(label="IDLE",command=lambda : greeting("IDLE"))
self.men29['menu'] = self.men29_m4
self.men23 = Menubutton(self.menubar, underline = 0)
self.men23.pack(side=RIGHT)
self.men23.configure(text="Help")
self.men23_m5 = Menu(self.men23)
self.men23['menu'] = self.men23_m5
self.balloon = Tix.Balloon(master)
self.balloon.bind_widget(self.tix29_listbox,balloonmsg="An example of balloon help message.")
self.balloon.bind_widget(self.men29,balloonmsg="Select the environemt that you wish to use.")
self.balloon.configure(bg='blue', borderwidth=3)
def list_handler(self, x):
index = self.tix29_listbox.curselection()
greeting(index)
def list_handler_2(self, x):
index = self.list_x.curselection()
greeting(index)
def vp_start_gui():
global w
root.title('New_Toplevel_1')
root.geometry('934x736+85+24')
w = New_Toplevel_1 (root)
init()
root.mainloop()
if __name__ == '__main__':
vp_start_gui()