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